- Some jenkins settings
SnC_
Jenkins连接到特定gitlabproject的特定branch我采用的方法是在pipeline的script中使用git命令来指定branch。如下:stage('Clonerepository'){steps{gitbranch:'develop',credentialsId:'gitlab-credential-id',url:'http://gitlab.com/repo.git'}}
- git 恢复误删的远程分支
Hanfank
需求实际工作上,肯定会有不小心的时候,比如我吧,删除了本地dev分支,intellijidea提示是否将trackedbranch也删掉,结果一不小心将远程分支也删除了,接下来就是我的救赎之旅。查看reflog,找到最后一次commitidgitreflog--date=isoreflog是referencelog的意思,也就是引用log,记录HEAD在各个分支上的移动轨迹。选项--date=is
- 2022-01-03 day62 pipaline流水线作业
zhaocheng690
今日作业:1.pipeline实现流程:拉取代码-->编译-->部署测试-->发送测试通知-->确认是否部署-->部署服务-->发送部署结果通知pipeline{agentanyparameters{gitParameterbranch:'',branchFilter:'.*',defaultValue:'v1.0',description:'请选择要发布的版本:',name:'git_versi
- linux查看git log目录,git得一些常用命令!
廖宝华
linux查看gitlog目录
.Git基本操作查看状态:1.gitstatus:查看工作区、暂存区的状态1.1.Onbranchmaster#默认在master(主干)分支上1.2Nocommitsyet#当前没有任何的提交1.3nothingtocommit(create/copyfilesanduse"gitadd"totrack)没有什么需要提交的(创建/复制文件,使用“gitadd”命令可追踪,也就是用git去管理文件
- git 压栈存储当前分支修改,出栈使用保存
星叔
gitgit
当你在修改当前分支时。突然有个更紧急的任务,或者需要将当前分支保存到其它分支,这个时候就能用到这个命令gitstash。本章只记录存储一次修改的操作,其它拓展命令可以在git文档中检索gitstash。当当前文档修改完成$gitbranch-a查看当前远程仓库有几个分支mainremotes/origin/Dev分支$gitstash保存当前分支的修改Savedworkingdirectoryan
- 开源项目 Kubernetes 源码探索与部署指南
邹滢朦
开源项目Kubernetes源码探索与部署指南kubernetesThisistherepothattracksallpatchestotheOpenShiftdistributionofKubernetesonbranchescorrespondingtoOpenShiftreleases.Seehttps://github.com/openshift/kubernetes/blob/maste
- Gitlab删除本地标签和分支
gan777777
gitlab经验分享
Gitlab删除本地分支删除分支gitbranch-d删除标签要删除本地Git标签,可以按照以下步骤操作:使用gittag命令查看本地已有标签。根据需要选择要删除的标签名称。使用gittag-d命令删除选择的标签。gittag-d使用gittag命令确认标签已被删除。
- git为不同的项目设置不同的提交作者
小短腿乄
git
方法1:找到项目的.git文件夹打开打开config在下面添加自己作者信息[user]name=作者名email=邮箱方法2:直接在.git文件夹设置作者名(不使用–global参数)gitconfiguser.name"xxxxx"如果想要修改之前提交的作者名称可以使用下面的方法gitfilter-branch--env-filter'OLD_NAME="要修改的名称"CORRECT_NAME=
- GIT的commit会自动合并一些文件
No.5吴吴
git
今天工作合并冲突的时候遇到一个问题:当我合并分支处理冲突后发现存在一些重复的代码.先说原因:git的commit会自动合并一些认为无意义的文件.导致出现了重复.解决办法:在合并文件的时候加上--no-commit选项可以防止Git自动创建一个合并提交。这让你有机会在实际提交之前审查和修改合并的结果。gitmergefeature-branch--no-commit--no-ff当然还有其他解决办法
- 【Git系列】分支的合并与删除
不_停_奔_跑
经验Git分支合并与删除
分支合并首先切换到master分支#合并分支gitcheckoutmaster如果是多人开发的话需要把远程master上的代码pull下来gitpull远程仓库地址master将分支代码合并到master中#合并分支gitmerge需要合并的分支名称删除分支查看当前已经存在的分支#查看存在哪些分支gitbranch删除本地分支#删除本地分支gitbranch-d需要删除的本地分支名称
- Git clone a specific branch only
JaedenKil
gitclone--single-branch-bbranchNameremoteRepoNameWhichwillclonesthespecificbranchandthatbranchonlywithoutcloningalltheexistingbranches.
- git建立本地分支和远程分支
C1R2
gitbranch//查看本地分支gitbranch-a//查看所有分支gitbranch-r//查看远程分支gitbranch-vv//查看本地分支与远程分支关联关系gitbranchA//切换本地分支(A:分支名,下同)gitcheckout-b//创建本地分支并切换(=gitbranchA+gitcheckout)gitpushoriginA:A//推送本地分支到远程gitbranch--s
- 用Java手写JVM第五章——指令集和解释器
周周包
手写JVMjava
文章目录代码目录一、字节码和指令集二、指令和指令解码Instruction①InstructionNoOperands②InstructionBranch③InstructionIndex8④InstructionIndex16BytecodeReader三、九种指令的实现1、常量指令①nop指令:②const指令:③BIPUSH和SIPUSH指令:2、加载指令3、存储指令4、栈指令①pop和po
- AI模型:追求全能还是专精?-- 之3:“智能”符号学诠释的程序逻辑分析
一水鉴天
人工智能大数据
Q1、昨天的“之2:对“智能”的符号学诠释”对“智能”进行了全面的剖析,将智能最终解释为符号学的三个分支branch(语义、语用和语法)需要承担的具体责任和其对应所需要的能力。简单对应如下:语用-智能的功用及文本解释,语义-智能的意向和逻辑描述,语法-智能的法规和词典编纂(注意,昨天的说的是“智能的法规和标注字典”由于不太准确做了修正)。你的这种解析为“智能”提供了一个非常深刻且多维度的视角,将符
- git删除本地远程分支
小白咚
gitgit
gitlab删除远程分支要删除GitLab上的远程分支,你可以使用Git命令行工具。以下是删除远程分支的步骤和示例代码:首先,确保你已经在本地删除了分支。删除本地分支的命令是:gitbranch-d如果分支没有被合并过,需要强制删除,可以使用:gitbranch-D然后,使用以下命令删除GitLab上的远程分支:gitpushorigin--delete或者使用旧的语法:gitpushorigin
- 解释 Git 的基本概念和使用方式。
正在走向自律
开发工具gitgithubgitee
Git是一个版本控制系统,它用于管理和跟踪文件的变化。1.Git的基本概念包括以下几点仓库(Repository):Git用来存储项目文件和版本历史的地方。提交(Commit):每次对仓库中的文件进行更改后,需要将这些更改提交到版本历史中,形成一个新的提交,记录了文件的变化。分支(Branch):可以将仓库中的代码划分为不同的分支,每个分支都可以独立进行开发。主分支通常为“master”分支。合并
- git version 2.37.0 如何删除远程分支
像素之间
gitgit
Git2.37.0是一个相对较新的版本,支持使用gitpush命令来删除远程分支。你可以使用--delete或-d选项来删除远程分支。步骤1:确认远程分支存在首先确认远程分支是否存在。可以使用以下命令来查看所有远程分支:gitbranch-r示例输出:origin/HEAD->origin/mainorigin/mainorigin/developorigin/feature/hu步骤2:删除远程
- 在Jenkinsfile中,自定义environment相关参数
闫小甲
jenkinsjenkinsfile
在Jenkinsfile中,environment定义VER,若BRANCH_NAME是master,则VER为master,其他为latestpipeline{agentanyenvironment{CURTIME=sh(returnStdout:true,script:'date"+%Y%m%d%H%M%S"').trim()VER=sh(returnStdout:true,script:""
- 【生命之树】
Kent_J_Truman
蓝桥杯算法爆int深度优先算法图论
题目思路求联通区域中的最大和值代码#includeusingnamespacestd;constintN=1e5+10,M=Nb{e[idx]=b,ne[idx]=h[a],h[a]=idx++;}intn;longlongans=null;longlongdfs(intf,intu){longlongbsx=0;//branchessummaxfor(intk=h[u];~k;k=ne[k]){
- git打包某个分支的特定提交
每一天,每一步
antdesign-reactgit
步骤:确定要打包的提交的哈希值。创建一个新分支或标签来指向该提交。#假设你已经知道提交的哈希值是1234abcd#创建一个新分支指向特定提交gitbranchnew-branch1234abcd#或者创建一个标签gittagv1.01234abcd创建分支或标签后,使用gitarchive命令创建打包文件:#创建一个zip文件包含特定提交的文件gitarchive--format=zip--out
- 如何将本地代码上传到github/gitee新仓库,每个程序员必备技能
孤舟蓑影
githubgitee
首先你得创建好新仓库,这里不在赘述,本文只讲述如何将本地新代码上传到已有仓库,以下命令均在项目根目录下执行gitinit初始化为git仓库gitremoteaddorigin远程仓库地址添加仓库地址gitfetch同步远程仓库所有分支信息到本地gitcheckout-borigin/创建并切换到一个新的本地分支branch_name,并且将其与远程分支origin_branch_name关联起来;
- 快速删除前端vue项目的依赖
代码老祖
前端vscodevue.js
npminstallrimraf-grimrafnode_modules有些时候项目启动不在希望的端口,解除端口占用8080是被占用的端口netstat-ano|findstr:808011120是找到的进程taskkill/PID11120/F在网页创建新分支devgitremoteupdateorigin-p//更新远程分支gitbranch-a//查看所有分支gitcheckoutdev//
- OpenWrt 编译步骤与命令详解教程
zhouwu_linux
智能路由器
前言编译OpenWrt的过程就像是复读机,除了选择系统组件外,几乎每次编译都是复制粘贴相同的命令。而理解每一条命令的作用、什么时候该去执行,这样才能更好的去解决编译中遇到的问题,更顺利的编译出固件。首次编译克隆OpenWrt源码gitclonehttps://github.com/coolsnowwolf/ledeopenwrtgitclone--branchopenwrt-21.02https:
- Git指令
五八哥
git
学习网站1.提交对策gitcommit-m“提交日志”gitcomnit-m"V1.05"2.恢复文件gitcheckout需要恢复的文件gitcheckouttest.sh3.查看文件差异gitdiff差异文件gitdifftest.sh4.查看本地改动状态gitstatusgitstatus.gitstatus-uno不显示没有追踪的文件5.查看分支gitbranch查看本地分支gitbran
- Git详解
不知名的小Q
前端htmlgitgithub
Git是一个分布式版本控制系统,用于跟踪代码的修改历史并协同开发。Git的基本概念包括:1.仓库(Repository):存储源代码、历史记录和元数据的地方。2.分支(Branch):将代码的不同版本分离开来,可以同时进行多个版本的开发和维护。3.提交(Commit):将修改的代码保存到仓库中,并附带说明信息。4.合并(Merge):将不同分支的代码合并到一起。5.追踪(Track):跟踪文件的修
- SX_gitlab编辑他人分支代码&c语言宏定义_16
Narnat
gitlabc语言开发语言
getlab上编辑他人工程代码:在gitlab上编辑他人代码首先得在自己本地创建一个分支,让创建的分支跟踪到远程目标分支gitcheckout-bjhyorigin/wjc_NSS#创建jhy分支来跟踪远程的wjc_NSS分支,这样就可以通过登录jhy分支来编辑远程wjc_NSS分支的代码gitbranch-vv#查看创建的分支与远程的分支的绑定情况c语言:externuint32_tflag;/
- Git基础知识
静心问道
Gitgitelasticsearch大数据
一、git查看当前分支你可以使用以下命令来查看当前所在的Git分支:gitbranch输出中带有*符号的分支就是当前所在的分支。如果只想显示当前分支的名称,可以使用:gitbranch--show-current二、开发过程中,忘记切换分支,有什么办法当前开发的内容移动新的分支中?如果你在开发过程中忘记切换分支,但已经进行了一些提交或有一些未提交的更改,不用担心,你可以将这些更改移动到新的分支。具
- Git 仓库基本概念和使用方式
秋の本名
前端前端
Git是一种分布式版本控制系统,它用于跟踪和管理软件开发项目中的代码修改。以下是Git的基本概念和使用方式。1.仓库(Repository):Git仓库是存储代码的地方,可以是本地仓库(localrepository)或远程仓库(remoterepository)。本地仓库位于开发者的计算机上,而远程仓库通常位于云端,例如GitHub上的仓库。2.分支(Branch):每个Git仓库都可以有一个或
- Git 的基本概念和使用方式
vⅤ_Leon
开发工具git
Git是一种分布式版本控制系统,可以追踪文件的修改、协调多人协作、管理项目的变更历史等。其基本概念包括仓库(Repository)、提交(Commit)、分支(Branch)、远程仓库(RemoteRepository)等。仓库是存储文件和修改历史的地方,可以是本地仓库或远程仓库。本地仓库是在开发者自己的机器上存储文件和修改历史的地方,而远程仓库是集中存储文件和修改历史的地方,可以由多个开发者共享
- 使用Git的基本方式
weixin_63207763
git
基本概念和使用方式:代码仓库(Repository):Git使用代码仓库来存储项目代码。它可以是本地仓库(在开发者的本地机器上)或远程仓库(在服务器上)。提交(Commit):提交是Git中最基本的操作。它表示将代码的一次变更保存到代码仓库中。每个提交都有一个唯一的标识符(SHA值),可以通过该标识符回溯到该提交。分支(Branch):分支是Git的重要概念之一。它允许开发者在代码库中创建多个并行
- 关于旗正规则引擎中的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