- Claude-Code-Communication:构建高效Agent通信流程
Claude-Code-Communication:构建高效Agent通信流程项目介绍Claude-Code-Communication是一个基于tmux的多Agent通信演示系统。它通过模拟一个层次化的指令传递流程,让我们可以直观地理解和体验Leader(领导者)、Boss(老板)和Workers(员工)之间的协作模式。该系统不仅提供了一个命令行的交互界面,还支持一键部署和运行,非常适合作为分布
- esp32 idf 使用http访问json直接拼接content_length = -1
包罗万码
httpjson网络协议esp32espidf
CMakeLists.txt添加网络请求库REQUIRESesp_http_client效果图D(14235)HTTP_CLIENT:content_length=-1需要直接拼接content_length才能打印#include#include#include"esp_log.h"#include"esp_system.h"#include"esp_event.h"#include"esp_n
- 通信方式与交换方式详解
两圆相切
网络规划设计师网络
通信方式与交换方式是通信网络中的核心概念,分别定义了数据传输的基本模式(通信方向与同步机制)和网络节点间的转发策略(路径选择与资源分配)。理解两者的分类与特性,对网络设计、协议选型及性能优化至关重要。一、通信方式(CommunicationModes)通信方式描述数据在传输过程中方向性和同步性的特征,决定了终端设备间的交互模式。1.1按传输方向分类类型定义核心特性典型场景单工通信数据仅能沿单一固定
- java list使用
奋斗live
一、增加、删除、查询可使用add、remove、get方法,如下System.out.println("list的添加、获取和删除元素");Listanimal=newArrayListanimal=newArrayListanimal=newArrayListanimal=newArrayListanimal=newArrayListanimal=newArrayListphone=newArr
- bash-completion使linux下命令自动补全
有时我们会遇到较长的linux命令,难以记住例如centos8的nmcli命令,不同于centos7的systemd重启网卡即可,命令冗长.这时就轮到bash-completion登场了bash-completion这个包可以帮我们快速补全linux命令安装并生效[root@vm1~]#dnf-yinstallbash-completion#安装包[root@vm1~]#source/etc/pr
- 解决幽默【VmmenWSA】占用系统资源过高且无法直接结束进程办法
鱼圆食不食
windows
起因今天打开任务管理器时,偶然发现一个名为VmmemWSA的进程占用了大量内存。经过询问,得知它与Windows虚拟化有关,但目前电脑上并没有运行任何虚拟化工具(如WSL)。尝试使用管理员权限和命令行工具(CLI)等方法都无法关闭该进程。经过多次尝试,终于找到了解决办法,接下来分享给大家。出现原因VmmemWSA是与WindowsSubsystemforAndroid(WSA)相关的进程。当尝试关
- Verilator 的文件目录结构(腾讯元宝)
dadaobusi
verilator
当然可以!我们来详细分析Verilator的Git仓库(GitHub上的官方仓库:https://github.com/verilator/verilator)的文件目录结构,帮助你理解它的代码组织方式以及各个部分的功能。一、Verilator的Git仓库概览Verilator是一个用C++编写的高性能Verilog/SystemVerilogRTL仿真器,其源代码仓库结构清晰,模块化程度较高。整
- verilator如何实现RTL的仿真(腾讯混元)
Verilator是一个用于将Verilog或SystemVerilogRTL(寄存器传输级)代码转换为C++或SystemC模型的工具,主要用于高性能的功能仿真和验证。它不是像ModelSim或VCS那样的传统事件驱动仿真器,而是通过静态编译的方式将RTL转换为可执行的C++代码,从而实现高效仿真。下面详细介绍Verilator实现RTL仿真的流程与实现细节。一、Verilator的基本工作流程
- 《Integer缓存池原理及应用》
猿究院--王升
缓存javaservlet
1.通过代码说明Integer缓存池的存在在Java中,Integer类有一个缓存池机制,用于缓存一定范围内的Integer对象。package包装;publicclassDemo3{publicstaticvoidmain(String[]args){//只要有new就会开辟空间Integeri1=newInteger(127);Integeri2=newInteger(127);System.
- RabbitMQ--批量处理
你我约定有三
RabbitMQwindowsjavarabbitmq后端
一、RabbitMQ原生批量处理(Java客户端)1.1原生RabbitMQ不支持真正意义上的“批量监听消费”,但支持“批量确认”//原生消费:注册一个消费者channel.basicConsume("queue_name",false,(consumerTag,message)->{//处理单条消息System.out.println("收到消息:"+newString(message.getB
- Systemd:现代 Linux 系统服务管理的核心
嵌入式Jerry
Linux+内核应用程序linux物联网系统架构服务器网络git
Systemd:现代Linux系统服务管理的核心引言Systemd是一种现代的系统和服务管理器,用于在Linux系统启动时初始化用户空间,并通过服务管理和资源控制实现系统的自动化管理。自发布以来,Systemd已逐渐取代传统的SysVinit和Upstart,成为主流Linux发行版的默认初始化系统。它通过并行化启动、服务依赖管理、事件驱动的服务监控、日志管理等功能,为Linux系统带来了更高效和
- 【QT常用技术讲解】QSystemTrayIcon系统托盘
deepallin
qt开发语言
前言项目中需要提供窗口的服务时,就会用到系统托盘。系统托盘支持右键菜单,也支持(左下角)系统消息提醒等实用的功能。效果图如上,本文的讲解包括3个功能:显示消息:显示右下角的系统提醒消息;关于:弹出一个对话框,代表打开第三方应用窗口;退出:关闭系统托盘。功能讲解第一步,必须设置图标,不然系统图标出不来//先创建qrc资源文件,新增图片到/目录下//设置图标setIcon(QIcon(":/defau
- DNS考点
在网络工程师、系统工程师、运维工程师、安全工程师等岗位的面试中,DNS(DomainNameSystem,域名系统)是高频必考知识点。DNS作为互联网的“电话簿”,负责将人类可读的域名(如www.example.com)解析为机器可识别的IP地址(如192.0.2.1),是网络通信的基础组件。以下是系统化的核心考点梳理,涵盖DNS基础概念、工作原理、协议细节及应聘高频问题。一、DNS基础考点1.D
- ubuntu20.04.2上安装wordpress+nginx+php+fpm+mysql
crayon-shin-chan
surprise#wordpressphpnginxphpmysqlwp
1.更新安装源sudoapt-getupdate2.安装nginxsudoaptinstallnginx检查状态servicenginxstatus●nginx.service-AhighperformancewebserverandareverseproxyserverLoaded:loaded(/lib/systemd/system/nginx.service;enabled;vendorpr
- Android bootanimation动画制作和验证
小姜的android之旅
Androidbootanimationbootanimation
Android开机动画使用bootanimation程序显示开机画面,只需按格式要求做bootanimation.zip包,放在系统的/system/media目录中。开机画面主要是由一个zip格式的压缩包bootanimation.zip组成,压缩包里面包含数张png格式的图片,还有一个desc.txt的文本文档,开机时按desc.txt里面的指令,屏幕上会按文件名称顺序连续的播放一张张的图片,
- 如何在 Ubuntu 22.04 上安装、配置、使用 Nginx
曹瑞曹瑞
软件配置ubuntunginx服务器
如何在Ubuntu22.04上安装、配置、使用Nginx?-阿里云开发者社区更新应用sudoaptupdatesudoaptupgrade检查必要依赖并安装sudoaptinstall-ycurlgnupg2ca-certificateslsb-release安装nginxsudoaptinstall-ynginx#启动nginxsudosystemctlstartnginx#开机自启sudosy
- helm charts_如何使用Helm Charts在Kubernetes上部署Kafka Connect
weixin_26737625
helmchartsByAmitYadav,Sr.Engineer,DevOpsatIgniteSolutionsIgniteSolutions的DevOps高级工程师AmitYadavHere’sourstep-by-stephow-toguidetodeployingKafkaConnectonKubernetesforconnectingKafkatoexternalsystems.这是我们
- 使用C#调用webApi
1、restClient类usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Net;usingSystem.Text;usingSystem.Web;namespaceTask10WebApi{publicclassRestClient{//////请求服务器地址///pr
- Indikator tid
RobynScott
IndikatortidDenmetrisketiderdesignetsometuniverselttimingssystem,dereliminererbesværetmedatberegnetid,fordideflesteafdenskonverteringerersåenklesomatkonverteremålerentilcentimeter!Påmetrisktid:Endager
- instantiate 卡顿严重_Unity3D研究院之利用缓存池解决Instantiate慢的问题(七十三)...
weixin_39992312
instantiate卡顿严重
Unity3D做项目有三个地方处理不好游戏整体就会出现卡顿的问题。2.角色放技能的时候卡尤其是放群体攻击技能时,因为每个人身上都要产生一个技能特效。技能都是用粒子特效做的,虽然Unity中粒子特效也是一个GameObject.但是ParticleSystem这个组件太特殊了。Instantiate以后会自动的执行脚本的初始化工作,ParticleSystem组件肯定也是个脚本,虽然我们看不到它实现
- instantiate 卡顿严重_利用缓存池解决Instantiate慢的问题
weixin_39958100
instantiate卡顿严重
Unity3D做项目有三个地方处理不好游戏整体就会出现卡顿的问题。1.NGUI直接打开界面卡,建议看看这一篇文章http://www.xuanyusong.com/archives/2799(本文就不赘述了)2.角色放技能的时候卡尤其是放群体攻击技能时,因为每个人身上都要产生一个技能特效。技能都是用粒子特效做的,虽然Unity中粒子特效也是一个GameObject.但是ParticleSystem
- QT系统托盘应用程序
weixin_30532987
操作系统游戏
在QT中QSystemTrayIcon类提供了创建系统托盘程序的功能。QSystemTrayIcon类为系统托盘中的应用程序提供图标。现代操作系统通常会在桌面上提供一个称为系统托盘(systemtray)或通知(notification)区域的特殊区域,其中长时间运行的应用程序可以显示图标和短消息。QSystemTrayIcon类可以在以下平台上使用:所有受支持的Windows版本。X11的所有窗
- docker镜像加速器配置daemon.json不生效
蓝色天空的银码星
docker容器linux
现象安装docker26.1.4,启动服务拉取镜像发现超时,走的是官方镜像仓库地址,配置本地加速后/etc/docker/daemon.json,重启仍然走的官方地址加速器地址:https://docker.imgdb.de/dockerinfo|grep'RegistryMirrors'展示的是:io.docker,非我们配置的地址再继续测试:1、不通过系统服务systemctl启动docker
- 拉姆达表达式(Lambda Expressions)
xwdpepsi
C#.netlambdaclass编译器
让我们先看一个简单的拉姆达表达式:x=>x/2这个表达式的意思是:x为参数,对x进行相应的操作后的结果作为返回值。通过这个拉姆达表达式,我们可以看到:这个表达式没有任何类型信息,但这并不代表拉姆达表达式是和类型无关的。在实际运用上,编译器会根据表达式的上下文判断上述x的类型及返回值的类型。例如:usingSystem;usingSystem.Linq;publicclassLambdaTest{s
- 牛客-游游的水果大礼包
小张0.0
OJ算法题题目心得动态规划算法
1.题目描述2.题目链接游游的水果大礼包_牛客题霸_牛客网3.代码解答publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);longn=in.nextInt();longm=in.nextInt();longa=in.nextInt();longb=in.nextInt();longre
- 牛客-倒置字符串
小张0.0
OJ算法题题目心得算法leetcode动态规划
1.题目描述2.题目链接倒置字符串_牛客题霸_牛客网3.代码解答importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);Strings=scanner.nextLine();//按空格分割单词(处理多个连续空格的情况,split("
- OEC 刷机Armbain 25.05后配置说明
DHCP调整为固定IPnano/etc/netplan/00-default-use-network-manager.yaml#AddedbyArmbian##Reference:https://netplan.readthedocs.io/en/stable/netplan-yaml/##LetNetworkManagermanagealldevicesonthissystem.#Anydevi
- 48Days-Day03 | 删除公共字符,两个链表的第一个公共结点,mari和shiny
TinaAmber
笔试训练48Days链表java算法
删除公共字符删除公共字符_牛客题霸_牛客网算法思路直接哈希,把第二个字符塞集合里面,遍历第一个,只要在集合里面有的就跳过代码importjava.util.HashSet;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);Strin
- 解决百度网盘上传请求中或上传慢的方法
百度网盘正常情况下是超快的,不应该是"上传请求中"或几k的速度。原因是因为DNS解释问题。尤其是海外用户。例如,使用DNS8.8.8.8PSC:\WINDOWS\system32>nslookupDefaultServer: dns.googleAddress: 8.8.8.8>server8.8.8.8DefaultServer: dns.googleAddress: 8.8.8.8>c.pcs
- Windows 10 设定静态路由
沉迷学习w
Windows相关windowslinuxc语言
情景:Windows电脑想要存取Linux电脑里面z/OS主机z/OS主机跟Linux电脑使用内部tunnel管道连接Linux电脑192.168.50.15Windows电脑192.168.50.16Linux电脑管道192.168.200.2z/OS主机管道192.168.200.1先用管理员开起CommandPrompt用routeprint来查看现在路由C:\Windows\system3
- 关于旗正规则引擎中的MD5加密问题
何必如此
jspMD5规则加密
一般情况下,为了防止个人隐私的泄露,我们都会对用户登录密码进行加密,使数据库相应字段保存的是加密后的字符串,而非原始密码。
在旗正规则引擎中,通过外部调用,可以实现MD5的加密,具体步骤如下:
1.在对象库中选择外部调用,选择“com.flagleader.util.MD5”,在子选项中选择“com.flagleader.util.MD5.getMD5ofStr({arg1})”;
2.在规
- 【Spark101】Scala Promise/Future在Spark中的应用
bit1129
Promise
Promise和Future是Scala用于异步调用并实现结果汇集的并发原语,Scala的Future同JUC里面的Future接口含义相同,Promise理解起来就有些绕。等有时间了再仔细的研究下Promise和Future的语义以及应用场景,具体参见Scala在线文档:http://docs.scala-lang.org/sips/completed/futures-promises.html
- spark sql 访问hive数据的配置详解
daizj
spark sqlhivethriftserver
spark sql 能够通过thriftserver 访问hive数据,默认spark编译的版本是不支持访问hive,因为hive依赖比较多,因此打的包中不包含hive和thriftserver,因此需要自己下载源码进行编译,将hive,thriftserver打包进去才能够访问,详细配置步骤如下:
1、下载源码
2、下载Maven,并配置
此配置简单,就略过
- HTTP 协议通信
周凡杨
javahttpclienthttp通信
一:简介
HTTPCLIENT,通过JAVA基于HTTP协议进行点与点间的通信!
二: 代码举例
测试类:
import java
- java unix时间戳转换
g21121
java
把java时间戳转换成unix时间戳:
Timestamp appointTime=Timestamp.valueOf(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:m
- web报表工具FineReport常用函数的用法总结(报表函数)
老A不折腾
web报表finereport总结
说明:本次总结中,凡是以tableName或viewName作为参数因子的。函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。
CLASS
CLASS(object):返回object对象的所属的类。
CNMONEY
CNMONEY(number,unit)返回人民币大写。
number:需要转换的数值型的数。
unit:单位,
- java jni调用c++ 代码 报错
墙头上一根草
javaC++jni
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000777c3290, pid=5632, tid=6656
#
# JRE version: Java(TM) SE Ru
- Spring中事件处理de小技巧
aijuans
springSpring 教程Spring 实例Spring 入门Spring3
Spring 中提供一些Aware相关de接口,BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中最常用到de匙ApplicationContextAware.实现ApplicationContextAwaredeBean,在Bean被初始后,将会被注入 Applicati
- linux shell ls脚本样例
annan211
linuxlinux ls源码linux 源码
#! /bin/sh -
#查找输入文件的路径
#在查找路径下寻找一个或多个原始文件或文件模式
# 查找路径由特定的环境变量所定义
#标准输出所产生的结果 通常是查找路径下找到的每个文件的第一个实体的完整路径
# 或是filename :not found 的标准错误输出。
#如果文件没有找到 则退出码为0
#否则 即为找不到的文件个数
#语法 pathfind [--
- List,Set,Map遍历方式 (收集的资源,值得看一下)
百合不是茶
listsetMap遍历方式
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身
- 解决SimpleDateFormat的线程不安全问题的方法
bijian1013
javathread线程安全
在Java项目中,我们通常会自己写一个DateUtil类,处理日期和字符串的转换,如下所示:
public class DateUtil01 {
private SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public void format(Date d
- http请求测试实例(采用fastjson解析)
bijian1013
http测试
在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import
- 【RPC框架Hessian三】Hessian 异常处理
bit1129
hessian
RPC异常处理概述
RPC异常处理指是,当客户端调用远端的服务,如果服务执行过程中发生异常,这个异常能否序列到客户端?
如果服务在执行过程中可能发生异常,那么在服务接口的声明中,就该声明该接口可能抛出的异常。
在Hessian中,服务器端发生异常,可以将异常信息从服务器端序列化到客户端,因为Exception本身是实现了Serializable的
- 【日志分析】日志分析工具
bit1129
日志分析
1. 网站日志实时分析工具 GoAccess
http://www.vpsee.com/2014/02/a-real-time-web-log-analyzer-goaccess/
2. 通过日志监控并收集 Java 应用程序性能数据(Perf4J)
http://www.ibm.com/developerworks/cn/java/j-lo-logforperf/
3.log.io
和
- nginx优化加强战斗力及遇到的坑解决
ronin47
nginx 优化
先说遇到个坑,第一个是负载问题,这个问题与架构有关,由于我设计架构多了两层,结果导致会话负载只转向一个。解决这样的问题思路有两个:一是改变负载策略,二是更改架构设计。
由于采用动静分离部署,而nginx又设计了静态,结果客户端去读nginx静态,访问量上来,页面加载很慢。解决:二者留其一。最好是保留apache服务器。
来以下优化:
- java-50-输入两棵二叉树A和B,判断树B是不是A的子结构
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/25411174201011445550396/
import ljn.help.*;
public class HasSubtree {
/**Q50.
* 输入两棵二叉树A和B,判断树B是不是A的子结构。
例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一
- mongoDB 备份与恢复
开窍的石头
mongDB备份与恢复
Mongodb导出与导入
1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.
所以,都有如下通用选项:
-h host 主机
--port port 端口
-u username 用户名
-p passwd 密码
2: mongoexport 导出json格式的文件
- [网络与通讯]椭圆轨道计算的一些问题
comsci
网络
如果按照中国古代农历的历法,现在应该是某个季节的开始,但是由于农历历法是3000年前的天文观测数据,如果按照现在的天文学记录来进行修正的话,这个季节已经过去一段时间了。。。。。
也就是说,还要再等3000年。才有机会了,太阳系的行星的椭圆轨道受到外来天体的干扰,轨道次序发生了变
- 软件专利如何申请
cuiyadll
软件专利申请
软件技术可以申请软件著作权以保护软件源代码,也可以申请发明专利以保护软件流程中的步骤执行方式。专利保护的是软件解决问题的思想,而软件著作权保护的是软件代码(即软件思想的表达形式)。例如,离线传送文件,那发明专利保护是如何实现离线传送文件。基于相同的软件思想,但实现离线传送的程序代码有千千万万种,每种代码都可以享有各自的软件著作权。申请一个软件发明专利的代理费大概需要5000-8000申请发明专利可
- Android学习笔记
darrenzhu
android
1.启动一个AVD
2.命令行运行adb shell可连接到AVD,这也就是命令行客户端
3.如何启动一个程序
am start -n package name/.activityName
am start -n com.example.helloworld/.MainActivity
启动Android设置工具的命令如下所示:
# am start -
- apache虚拟机配置,本地多域名访问本地网站
dcj3sjt126com
apache
现在假定你有两个目录,一个存在于 /htdocs/a,另一个存在于 /htdocs/b 。
现在你想要在本地测试的时候访问 www.freeman.com 对应的目录是 /xampp/htdocs/freeman ,访问 www.duchengjiu.com 对应的目录是 /htdocs/duchengjiu。
1、首先修改C盘WINDOWS\system32\drivers\etc目录下的
- yii2 restful web服务[速率限制]
dcj3sjt126com
PHPyii2
速率限制
为防止滥用,你应该考虑增加速率限制到您的API。 例如,您可以限制每个用户的API的使用是在10分钟内最多100次的API调用。 如果一个用户同一个时间段内太多的请求被接收, 将返回响应状态代码 429 (这意味着过多的请求)。
要启用速率限制, [[yii\web\User::identityClass|user identity class]] 应该实现 [[yii\filter
- Hadoop2.5.2安装——单机模式
eksliang
hadoophadoop单机部署
转载请出自出处:http://eksliang.iteye.com/blog/2185414 一、概述
Hadoop有三种模式 单机模式、伪分布模式和完全分布模式,这里先简单介绍单机模式 ,默认情况下,Hadoop被配置成一个非分布式模式,独立运行JAVA进程,适合开始做调试工作。
二、下载地址
Hadoop 网址http:
- LoadMoreListView+SwipeRefreshLayout(分页下拉)基本结构
gundumw100
android
一切为了快速迭代
import java.util.ArrayList;
import org.json.JSONObject;
import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayo
- 三道简单的前端HTML/CSS题目
ini
htmlWeb前端css题目
使用CSS为多个网页进行相同风格的布局和外观设置时,为了方便对这些网页进行修改,最好使用( )。http://hovertree.com/shortanswer/bjae/7bd72acca3206862.htm
在HTML中加入<table style=”color:red; font-size:10pt”>,此为( )。http://hovertree.com/s
- overrided方法编译错误
kane_xie
override
问题描述:
在实现类中的某一或某几个Override方法发生编译错误如下:
Name clash: The method put(String) of type XXXServiceImpl has the same erasure as put(String) of type XXXService but does not override it
当去掉@Over
- Java中使用代理IP获取网址内容(防IP被封,做数据爬虫)
mcj8089
免费代理IP代理IP数据爬虫JAVA设置代理IP爬虫封IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
Java语言有两种方式使用代理IP访问网址并获取内容,
方式一,设置System系统属性
// 设置代理IP
System.getProper
- Nodejs Express 报错之 listen EADDRINUSE
qiaolevip
每天进步一点点学习永无止境nodejs纵观千象
当你启动 nodejs服务报错:
>node app
Express server listening on port 80
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (
- C++中三种new的用法
_荆棘鸟_
C++new
转载自:http://news.ccidnet.com/art/32855/20100713/2114025_1.html
作者: mt
其一是new operator,也叫new表达式;其二是operator new,也叫new操作符。这两个英文名称起的也太绝了,很容易搞混,那就记中文名称吧。new表达式比较常见,也最常用,例如:
string* ps = new string("
- Ruby深入研究笔记1
wudixiaotie
Ruby
module是可以定义private方法的
module MTest
def aaa
puts "aaa"
private_method
end
private
def private_method
puts "this is private_method"
end
end