一个能在 IDEA 中方便管理图片的插件 审核已通过, 可直接在 plugin 中搜索 Markdown Image Kit 下载 Markdown Image Kit 是一款在 IDEA 中方便高效得管理 Markdown 文档图片的插件. 在 IntelliJ IDEA 中写作(主要是技术文档), 配图成了一个大问题, 我们需要借助其他 APP 来完成这一操作. 为了解决现状, 因此开发了此插件, 能方便得给技术文档配图, 一键上传图片并直接替换为 markdown image 标签, 当然还提供其他一些附属功能. Features 一键上传当前文档(所有文档)所有引用图片后自动替换, 体验最简单高效的一波流操作; 支持多个图床, 还支持自定义图床, 没有你上传不了的图片; 一键替换所有标签, 批量处理就是这么简单; 粘贴图片, 复制就是 markdown image mark, 就是这么直接; 图片直接压缩, 减少流量, 提高加载速度, 处处为你着想; 可对一个 markdown image mark 单独处理, 灵活的不要不要的; 图床迁移计划, 免费流量用完了? ...
@api被 @api 标记后, 会解析成 api 文档 1@api {method} path [title] Name Description method Request method name: DELETE, GET, POST, PUT, … More info Wikipedia HTTP-Request_methods path Request Path. titleoptional A short title. (used for navigation and article header) Example: 123/** * @api {get} /user/:id 获取用户详情 */ @apiDefine用来定义全局描述, 比如服务器内部错误描述, 权限描述等 1@apiDefine name [title] [description] Name Description name Unique name for the block / value. Same nam ...
通过扩展 dubbo Filter, 拦截 RPC 请求的方式, 将在请求 API 时通过 SnowFlake 算法生成的全局唯一 traceId 存入到 RpcContext 中, 传递给下一个服务. dubbo 服务调用日志 通过扩展 dubbo Filter, 拦截 RPC 请求的方式, 将在请求 API 时通过 SnowFlake 算法生成的全局唯一 traceId 存入到 RpcContext 中, 传递给下一个服务. 业务日志 通过 Load Time wearing技术自动埋点, 在进入方法时, 通过 MDC 获取 traceId 接入追踪系统 dubbo 追踪接入 123456<!-- xxx-service pom.xml 引入 日志追踪插件 --><dependency> <groupId>com.xxx</groupId> <artifactId>xxx-trace-client</artifactId> <version>0.2</vers ...
声网主要产品声网主要提供以下几类产品: 1. 实时互动基础能力: 语音通话: 一对一,多人实时语音通话。 视频通话: 一对一,多人实时视频通话。 直播: 提供低延时、强同步、大并发、高质量的互动直播能力。 实时消息: 超低延迟的全球信令与消息云服务。 即时通讯 IM: 单聊、群聊、聊天室、系统通知等 IM 功能。 媒体流加速: 具备 QoS 保障的全球端到端加速服务。 2. 实时互动扩展能力: 水晶球: 实时监控、告警通知、通话调查、数据洞察。 互动白板: H5 课件、动态 PPT、轨迹与音视频同步。 实时录制: 云端录制、本地服务端录制、页面录制。 凤鸣 AI 引擎: 新一代音频技术智能引擎,包括空间音频、AI 降噪、虚拟声卡等功能。 Status Page: 集中展示声网主要产品及服务的综合服务质量及可用性信息。 3. 低代码应用平台: 灵动课堂: 15 分钟上线自由品牌互动教学平台。 灵隼物联网云平台: 「耳聪目明」智能硬件音视频体验升级。 主要解决的问题声网产品主要解决以下问题: 低延迟、高可靠: 提供低延迟、高可靠的实时互动能力,满足各类实时互动应用的需 ...
声网集成相关 关键词: App ID 开发者在我们官网注册后,可以创建多个项目,每一个项目对应的唯一标识就是 App ID。 如果有人非法获取了你的 App ID,他将可以在 Agora 提供的 SDK 中使用你的App ID,如果他知道你的频道名字,甚至有可能干扰你正常的通话。 所以建议仅在测试阶段或对安全性要求不高的场景里使用 App ID。 使用不同 App ID 的应用程序是不能互通的。如果已在通话中,用户必须调用 leaveChannel() 退出当前通话,才能进入下一个频道 Dynamic Key 当项目准备正式上线运营,建议开发者采用 Dynamic Key,这是一个更为安全的用户身份验证方案。针对不同的服务,Dynamic Key 有不同的名称: Channel Key 用于加入频道; Signaling Key 用于登录信令系统; App Certificate 将您的 App Certificate 保存在服务器端,且对任何客户端均不可见。通常 App Certificate 在启用一小时后生效。 当项目的 App Certificate 被启用后, ...
Maven 多环境配置打包方式 使用 profiles12345678910111213141516171819202122232425262728293031323334<profiles> <profile> <id>local</id> <properties> <environment>local</environment> <env>LOCAL</env> </properties> </profile> <profile> <id>dev</id> <properties> <environment>dev</environment> <env>DEV</env> ...
根据 「阿里巴巴开发规范」 配置 IDEA 开发环境 google-code-checks-xxx.xml根据 google-code-checks.xml 修改按照官方文档加上中文注释具体的 checkstyle 规则可以查看 google-code-checks.xml 命名规约通过 checkstyle 控制, 所有不符合要求的 包名, 类名, 方法名, 局部变量, 静态变量, 常量 都会提示 接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁 性,并加上有效的 Javadoc 注释 idea 对于多余的修饰符也会标记, 这里使用 checkstyle 提示 常量定义 重复的字符串出现 2 次以上, 就会提示, 应该使用常量字符串代替 当定义一个常量时, 希望使用大写的 L 来代替小写的 l, 原因是小写的 l 和数字 1 很象 long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解 格式规约全部使用 checkstyle 约束如果违反规则, 则会给出提示, 按照相应提示修改即 ...
python 面向对象(进阶篇)原文出处:武沛齐 cnblog 面向对象是一种编程方式,此编程方式的实现是基于对类和对象的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装、继承和多态 本篇将详细介绍 Python 类的成员、成员修饰符、类的特殊成员。 类的成员类的成员可以分为三大类:字段、方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段。而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份 字段字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于 对象 静态字段属于 类 12345678910111213141516class Province: # 静态字段 country = '中国' def __init__(self, name): ...
Python 面向对象基础部分 原文出处: 武沛齐 cnblog 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强…” 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。 123456789101112131415161718while True: if cpu 利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘使用空间 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 内存占用 > 80%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 随着时间的推移,开始使用了函数式编程,增强代码的重用性和可读性, ...
一个基于 dubbo filter 的日志追溯系统设计 解决的问题 了解线上系统的运行状态 快速准确定位线上问题 发现系统瓶颈 预警系统潜在风险 挖掘产品最大价值 日志的分类 诊断日志, 典型的有: 请求入口和出口 外部服务调用和返回 资源消耗操作: 如读写文件等 容错行为: 如云硬盘的副本修复操作 程序异常: 如数据库无法连接 后台操作:定期执行删除的线程 启动、关闭、配置加载 统计日志: 用户访问统计:用户 IP、上传下载的数据量,请求耗时等 计费日志(如记录用户使用的网络资源或磁盘占用,格式较为严格,便于统计) 审计日志: 管理操作对于简单的系统,可以将所有的日志输出到同一个日志文件中,并通过不同的关键字进行区分。而对于复杂的系统,将不同需求的日志输出到不同的日志文件中是必要的,通过对不同类型的文件采用不同的日志格式 **业务日志 ** 分布式日志系统的设计 日志采集器负责把业务系统的方法调用栈和远程服务调用信息从业务系统中传递给处理器 实现方式有: 应用层编写代码主动推送 AOP 拦截 JavaAgent 字节码增强 问题:这里推送给采集器的日志是统 ...
新时代码农
未读log MDC 的使用 MDC 介绍MDC(Mapped Diagnostic Context, 映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能. 某些应用程序采用多线程的方式来处理多个用户的请求.在一个用户的使用过程中, 可能有多个不同的线程来进行处理. 典型的例子是 Web 应用服务器. 当用户访问某个页面时, 应用服务器可能会创建一个新的线程来处理该请求,也可能从线程池中复用已有的线程. 在一个用户的会话存续期间, 可能有多个线程处理过该用户的请求. 这使得比较难以区分不同用户所对应的日志.当需要追踪某个用户在系统中的相关日志记录时, 就会变得很麻烦. 一种解决的办法是采用自定义的日志格式, 把用户的信息采用某种方式编码在日志记录中. 这种方式的问题在于要求在每个使用日志记录器的类中,都可以访问到用户相关的信息. 这样才可能在记录日志时使用. 这样的条件通常是比较难以满足的. MDC 的作用是解决这个问题. MDC 可以看成是一个与当前线程绑定的哈希表, 可以往其中添加键值对. MDC 中包含的内容可以被同一线程中执行的 ...
看到群里有朋友出现了下面的错误, 我也出现了 1com.alibaba.dubbo.rpc.RpcException: Forbid consumer 192.168.1.89 access service com.alibaba.dubbo.monitor.MonitorService from registry zkserver:2181 use dubbo version 2.5.3, Please check registry access list (whitelist/blacklist). 在出现上面的错误时, 都会打印下面一段信息 1INFO [com.alibaba.dubbo.monitor.dubbo.DubboMonitor] - [DUBBO] Send statistics to monitor zookeeper://zkserver:2181/com.alibaba.dubbo.monitor.MonitorService?dubbo=2.5.3&interface=com.alibaba.dubbo.monitor.Monitor ...
前提条件群里面有一篇 zheng- 环境搭建及系统部署文档 20170213(三版).docx, 里面详细讲解了各个依赖软件的安装和配置,所以这里不会再讲依赖的搭建过程.假设你已经将所有的依赖环境搭建完毕. 我的环境 名称 版本 系统 MacOS 10.12.6 IDE Intellij IDEA 2017.2.3 JDK 1.8 Maven 3.3.9 Dubbo 2.5.3 Zookeepe 3.4.10 Nginx 1.12.1 ActiveMQ 5.15.0 MySQL 5.7.16 Redis 3.2.3 Dubbo-admin Dubbo-monitor 用到的工具 IDEA LICEcap –> gif 制作 MWeb –> Markdown 编辑器 iTerm –> 替代 Terminal 的工具 环境搭建我记得去年还是前年, 用 Intellij IDEA 的人已经超过了 Eclipse, 如果你还在用 Eclipse, 我想安利你马上转到 IDEA 来, 不是一般的好用, 我已 ...
AI:人工智能
未读View project onGitHub 概述当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。 Dapper–Google 生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它是如何满足一个低损耗、应用透明的、大范围部署这三个需求的。当然Dapper 设计之初,参考了一些其他分布式系统的理念,尤其是 Magpie 和 X-Trace,但是我们之所以能成功应用在生产环境上,还需要一些画龙点睛之笔,例如采样率的使用以及把代码植入限制在一小部分公共库的改造上。 自从 Dapper 发展成为一流的监控系统之后,给其他应用的开发者和运维团队帮了大忙,所以我们今天才发表这篇论文,来汇报一下这两年来,Dapper是怎么构建和部署的。Dapper 最初只是作为一个自给自足的监控工具起步的,但最终进化成一个监控平台,这个监控平台促生出 ...