- Gitlab迁移到新的服务器后点击Integrations报500错误的解决方法
奔跑吧邓邓子
常见问题解答(FAQ)gitlab服务器jenkins
目录一、问题描述二、解决方法1.方法12.方法2(1)备份/etc/gitlab/gitlab-secrets.json(2)进入数据库(3)查看ProjectID(4)查找hookID并删除(5)申请访问令牌并执行api删除操作一、问题描述Gitlab迁移到新的服务器后点击Integrations报500错误:查后台日志/var/log/gitlab/gitlab-rails/productio
- 探索未来飞行器控制方式:Node.js版AR.Drone库
毕艾琳
探索未来飞行器控制方式:Node.js版AR.Drone库node-ar-droneAnode.jsclientforcontrollingParrotARDrone2.0quad-copters.项目地址:https://gitcode.com/gh_mirrors/no/node-ar-drone在计算机科学领域中,无人机已经成为一个重要的研究方向。近年来,随着硬件设备的发展和智能算法的进步,
- python如何快速生成一个密钥
youhebuke225
pythonpythonjava前端
在Python中,快速生成一个密钥通常依赖于内置的库或第三方库来生成一个安全的随机字符串。以下是一些常见的方法来生成密钥:使用secrets模块Python3.6及以上版本引入了secrets模块,它用于生成适合管理密码、账户认证信息、安全令牌等敏感数据的加密强随机数。importsecretsimportstring#生成一个长度为32的密钥,包含大写字母、小写字母和数字key=''.join(
- [大译] drone delivery service 飞行器快递服务
苹果放阳台
收听语音:http://xima.tv/x53ZdInewssource新闻来源:https://www.msn.com/en-us/news/technology/google-just-beat-amazon-to-launching-one-of-the-first-ever-drone-delivery-services/ar-BBVKRibWing,astartupownedbyGoog
- 物联网核心协议MQTT快速入门3 发布消息与取消订阅
python测试开发
发布信息mosquitto_pub-Vmqttv311-tsensors/drone01/altitude-m"10f"-dClient(null)sendingCONNECTClient(null)receivedCONNACK(0)Client(null)sendingPUBLISH(d0,q0,r0,m1,'sensors/drone01/altitude',...(4bytes))Clie
- 24.云原生ArgoCD高级之数据加密seale sealed
野心与梦
私有云+云原生实战云原生argocd
云原生专栏大纲文章目录数据加密之sealesealedBitnamiSealedSecrets介绍BitnamiSealedSecrets工作流程安装sealed-secrets和kubeseal安装sealed-secrets-controller安装kubeseal通过kubeseal将sealed-secrets公钥拿出来通过kubeseal加密secrets替换kustomize下secr
- 2018-09-05
阳光明媚0414
Jenkins和Nginx一些配置地址记录Mac中Jenkins配置文件的地址/usr/local/opt/jenkins-lts/homebrew.mxcl.jenkins-lts.plistMac中查看Jenkins的admin密码的路径/Users/lyan/.jenkins/secrets/initialAdminPassword修改Nginx的几个命令:1.cd/usr/local/et
- ssh wifi 登录 开发板
埋刀封剑
linuxkernel
- 私有化轻量级持续集成部署方案--05-持续部署服务-Drone(上)
xuhss_com
11cigithub
Python微信订餐小程序课程视频https://edu.csdn.net/course/detail/36074Python实战量化交易理财系统https://edu.csdn.net/course/detail/35475提示:本系列笔记全部存在于Github,可以直接在Github查看全部笔记持续部署概述持续部署是能以自动化方式,频繁而且持续性的,将软件部署到生产环境。使软件产品能够快速迭代
- Docker 配置 Gitea + Drone 搭建 CI/CD 平台
Gettler•Main
实战Linuxdockergiteaci/cd
Docker配置Gitea+Drone搭建CI/CD平台配置Gitea服务器来管理项目版本本文的IP地址是为了方便理解随便打的,不要乱点首先使用docker搭建Gitea服务器,用于管理代码版本,数据库选择mysqlGitea服务器的docker-compose.yml配置文件如下:version:"3"services:server:image:gitea/gitea:1.19.3contain
- Mark Minervini--Mindset Secrets for Winning 第七章 如何安排练习时间
星盈IA
继发布优先考虑你的激情和目标的实现部分翻译之后,今天继续发布第七章如何安排练习时间不言而喻,任何你想达到的目标都需要时间和练习。不过,这可不是一般的练习。无论是参加奥运会的平衡木比赛,演奏乐器,还是履行警察的职责,正确的练习方法是好与伟大,金与铜,甚至生与死的关键区别。我们如何练习决定了我们如何表现。这远远不只是为竞争做准备,练习本身就是一种竞争性活动!如果你想在某件事上做得最好,你必须首先在实践
- Debezium发布历史77
大大蚊子
CDCdebeziumFlinkCDC数据库运维大数据
原文地址:https://debezium.io/blog/2019/12/13/externalized-secrets/欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.使用Debezium连接器实现秘密外部化十二月13,2019作者:JiriPechanecmysql的秘密示例当Debezium连接器部署到KafkaConnect实例时,有时需要对ConnectAPI的其他用户
- centos通过rsync远程文件同步
霍霍磨刀
centoslinux服务器
1.服务器配置(提供文件)yuminstall-yrsyncecho"root:password">/etc/rsyncd.secrets#授权chownroot.root/etc/rsyncd.secrets#一定要给这个文件600权限chmod600/etc/rsyncd.secrets配置文件vim/etc/rsyncd.conf启动服务rsync--daemon2.客户端配置(获取文件)y
- k8s学习路线
mask哥
容器化&Devops经验分享k8s学习学习方法
学习Kubernetes需要掌握一系列基础概念和技术。以下是一份学习Kubernetes的主要内容:1.基础概念和术语:Pods(Pod):Kubernetes最小的可部署单元,可以包含一个或多个容器。Service:提供对一组Pod的访问、负载均衡和服务发现。Deployment:用于定义和管理Pod的部署,支持滚动更新。ConfigMaps和Secrets:用于管理应用程序的配置和敏感信息。N
- k8s---ingress实现https代理访问
qq_51506982
kubernetes容器云原生
预知ingress实现https代理创建证书密钥secrets保存密钥信息,部署pod时把secrets挂载到pod[root@master01~]#opensslreq-x509-sha256-nodes-days365-newkeyrsa:2048-keyouttls.key-out.crt-subj"/CN=nginxzzr/O=nginxzzr"req:生成证书文件的请求x509:生成x.
- k8s---ingress对外服务(traefik)
Lad1129
httpsssl网络协议kubernetes容器云原生
目录ingress的证书访问traefiktraefik的部署方式:deamonsetdeploymentnginx-ingress与traefix-ingress相比较nginx-ingress-controllerui访问deployment部署ingress的证书访问ingress实现https代理访问:需要证书和密钥创建证书密钥secrets保存密钥信息,部署pod时把secrets挂载到
- ingress实现https代理访问
91888888
https网络协议httpkubernetes容器
证书密钥创建证书钥secrets保存密钥信息,部署pod时把secrets挂载到podopensslreg-x509-sha256-nodes-days365-newkeyras:2048-keyouttls.key-outtls.crt-subi"/CN=nginxsvc/0=nginxsvc"req:生成证书文件的情趣x509:生成x.509自签名的证书sha256:表示使用sha-256的散
- Revealing the Dark Secrets of MIM
武乐乐~
目标检测深度学习
论文名称:RevealingtheDarkSecretsofMaskedImageModeling发表时间:CVPR2022作者及组织:ZhendaXie,ZigangGeng,HuHan等,来自清华,中科院,微软亚洲研究院。前言 本文尝试探讨MIM为何有效的原因。1、结论 由于是篇充满可视化及对比实验的文章,因此先说结论: 1)MIM能给模型所有层带来归纳偏置; 2)MIM能给不同Head带来多
- AWS Secrets Manager 实战指南
ivwdcwso
aws云计算
AWSSecretsManager是一项强大的服务,用于安全地管理和存储敏感信息,如数据库凭证、API密钥等。本实战指南将指导你如何在实际应用中使用AWSSecretsManager。创建Secret首先,我们需要在SecretsManager中创建一个新的Secret来存储敏感信息。登录AWS控制台,选择"Security,Identity,&Compliance"下的"SecretsManag
- 配置资源管理
weixin_51694382
kubernetes运维pod
配置资源管理:SecretConfigmap*:1.2加入的新特征。Secret:保存密码,token,敏感的k8s资源。这类数据可以直接存放在镜像当中,但是放在secret当中可以更方便的控制,减少暴露的风险。Secrets的类型查看kubectlgetsecrets四种方式:docker-registry:存储docker仓库认证信息,以及docker组件认证信息。(私有)generic:是s
- 轻量级CI/CD自动构建平台Gitea+Drone保姆级实践教程
幸福指北
Devopsdockergitdevopsci云原生
目录1、关于Gitea1.1gitea特性1.2快速安装1.2.1环境依赖1.2.2安装gitea1.2.3启动1.2.4访问1.2.5创建一个测试仓库2关于Drone2.1CI/CD工具对比2.2快速安装2.2.1环境依赖2.2.2安装Dorne2.3启动drone2.4访问drone2.5使用pipeline2.6编写一个完整的pipeline2.6.1编写一个完整的pipeline文件,并部
- DVA-C02重点记录
冷暖。
笔记云计算
一、安全1.1SecretsManager跨账户,轮换是“SecretsManager”的关键基于此,AWS托管密钥可用于跨账户访问。https://aws.amazon.com/blogs/security/how-to-access-secrets-across-aws-accounts-by-attaching-resource-based-policies/SecretsManager中的
- 使用Docker安装Drone和Gogs实现自动化部署
MasonYyp
微服务Linux服务器docker容器
1基本介绍1.1Drone简介Drone是基于GO语言开发的持续集成(Continuousintegration,CI)引擎,它可以借助Docker容器技术,用于自动化测试与构建,满足持续交付的基本需求,适合小团队开发。Drone具有简洁、轻量级、启动快、资源占用等特点。Jenkins也是CI引擎,它的特点是文档丰富、功能丰富、插件丰富、配置功能强大等特点,但资源占用较高。Drone比Jenkin
- docker安装drone
肖码哥
dronedockerdocker容器运维自动化
目录Drone简介docker安装drone创建Drone-server容器创建Drone-runner-docker容器访问drone-server面板操作Drone简介Drone是基于GO语言开发的持续集成(Continuousintegration,CI)引擎,它可以借助Docker容器技术,用于自动化测试与构建,满足持续交付的基本需求,适合小团队开发。Drone具有简洁、轻量级、启动快、资
- 基于 Gogs + Drone 构建私有 CI/CD 平台 | Docker 篇
chouman5230
运维gitphp
NomatterwhereIam,IwillreplyyouimmediatelywhenIseetheemail.MyEmail:echo"YUBzYW1lZ28uY29tCg=="|base64-d前言CI/CD(持续集成/持续部署)方案是DevOps中不可或缺的流程之一,最近也了解了部分的相关的解决方案,最终选择了Drone+Gogs基于docker容器环境来构建CI/CD,本文将分享下如何
- 博物馆的秘密 第二季 Museum Secrets Season 2
小潘chic
l简介每座博物馆总能带领人民最直观而具体地回顾一座城市,一个民族,一个国家,一个文明的发展足迹。那些散发着厚重历史气息的展品,背后总有值得流传千古的奇闻异事或辉煌成就。纪录片《博物馆的秘密》摄制组前往世界上最著名的博物馆,让我们足不出户就能品味展品背后的故事。在本季的节目中,我们将了解到关于恐龙的百年“骗局”,丘吉尔命悬一线的经历,水晶头骨的秘密,失窃的奥地利国宝,苏丹王后宫的真实面貌……耳熟能详
- 容器云平台No.10~通过gogs+drone+kubernetes实现CI/CD
空壳先生
什么是CI/CD持续集成(ContinousIntergration,CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都需要通过自动化的编译、发布、自动化回归测试来验证,从而尽快地发现集成错误。而这些自动化的操作则由CI软件进行执行。持续部署(ContinousDelivery,CD)在持续集成的基础上,将集成后的
- 【Drone+Gitlab】一条龙服务,直接起飞 — 从介绍->部署->配置->写.drone.yml流水线+常见的报错解决
秋意零
推荐文章【kubernetes】新版helm3的三大概念+快速指南+自定义charts模板【容器】docker-comopse安装+案例练习【GitLab】使用Docker和Docker-Compose部署-个人、私有代码仓库【kubevirt】VirtualMachineInstanceReplicaSet(vmis)-扩缩容-弹性伸缩【openstack】cloudkitty组件,入门级安装(
- Secrets of straight A students
素衣饮茶
*Speakup.Classparticipationgoesbeyondmerelyaskingquestions.It'samatterofshowingintellectualcuriosity.*Testyourself.Designstentativetestquestionsandgiveyourselfawrittenexaminationbeforetestday.*Domoret
- jenkins + centos + gitee +maven 安装配置自动部署
张建勇9511
一、安装jenkins下载jenkins安装包https://www.jenkins.io/zh/download/安装rpm-ivhjenkins-2.222.1-1.1.noarch.rpm配置文件路径/etc/sysconfig/jenkins启动servicejenkinsstartadmin默认密码/var/lib/jenkins/secrets/initialAdminPassword
- 插入表主键冲突做更新
a-john
有以下场景:
用户下了一个订单,订单内的内容较多,且来自多表,首次下单的时候,内容可能会不全(部分内容不是必须,出现有些表根本就没有没有该订单的值)。在以后更改订单时,有些内容会更改,有些内容会新增。
问题:
如果在sql语句中执行update操作,在没有数据的表中会出错。如果在逻辑代码中先做查询,查询结果有做更新,没有做插入,这样会将代码复杂化。
解决:
mysql中提供了一个sql语
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
Cb123456
@+@?@*
一.@代表引用资源
1.引用自定义资源。格式:@[package:]type/name
android:text="@string/hello"
2.引用系统资源。格式:@android:type/name
android:textColor="@android:color/opaque_red"
- 数据结构的基本介绍
天子之骄
数据结构散列表树、图线性结构价格标签
数据结构的基本介绍
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。
经典的数据结构大致如下:
一:线性数据结构
(1):列表
a
- 通过二维码开放平台的API快速生成二维码
一炮送你回车库
api
现在很多网站都有通过扫二维码用手机连接的功能,联图网(http://www.liantu.com/pingtai/)的二维码开放平台开放了一个生成二维码图片的Api,挺方便使用的。闲着无聊,写了个前台快速生成二维码的方法。
html代码如下:(二维码将生成在这div下)
? 1
&nbs
- ImageIO读取一张图片改变大小
3213213333332132
javaIOimageBufferedImage
package com.demo;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @Description 读取一张图片改变大小
* @author FuJianyon
- myeclipse集成svn(一针见血)
7454103
eclipseSVNMyEclipse
&n
- 装箱与拆箱----autoboxing和unboxing
darkranger
J2SE
4.2 自动装箱和拆箱
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。
4.2.1 autoboxing和unboxing
在Java中,所有要处理的东西几乎都是对象(Object)
- ajax传统的方式制作ajax
aijuans
Ajax
//这是前台的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+
- 只用jre的eclipse是怎么编译java源文件的?
avords
javaeclipsejdktomcat
eclipse只需要jre就可以运行开发java程序了,也能自动 编译java源代码,但是jre不是java的运行环境么,难道jre中也带有编译工具? 还是eclipse自己实现的?谁能给解释一下呢问题补充:假设系统中没有安装jdk or jre,只在eclipse的目录中有一个jre,那么eclipse会采用该jre,问题是eclipse照样可以编译java源文件,为什么呢?
&nb
- 前端模块化
bee1314
模块化
背景: 前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。 JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所
- 处理百万级以上的数据处理
bijian1013
oraclesql数据库大数据查询
一.处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o
- mac 卸载 java 1.7 或更高版本
征客丶
javaOS
卸载 java 1.7 或更高
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
成功执行此命令后,还可以执行 java 与 javac 命令
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
成功执行此命令后,还可以执行 java
- 【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析
bit1129
Stream
第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中
第二部,Spark Streaming读取Kafka中的数据,进行实时分析
本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接 1. Flume配置
1. 下载Flume和Kafka集成的插件,下载地址:https://github.com/beyondj2ee/f
- Erlang vs TNSDL
bookjovi
erlang
TNSDL是Nokia内部用于开发电信交换软件的私有语言,是在SDL语言的基础上加以修改而成,TNSDL需翻译成C语言得以编译执行,TNSDL语言中实现了异步并行的特点,当然要完整实现异步并行还需要运行时动态库的支持,异步并行类似于Erlang的process(轻量级进程),TNSDL中则称之为hand,Erlang是基于vm(beam)开发,
- 非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个
ljy325
企业应用
非常希望有一个预防疲劳的java软件,我看新闻和网站,国防科技大学的科学家累死了,太疲劳,老是加班,不休息,经常吃药,吃药根本就没用,根本原因是疲劳过度。我以前做java,那会公司垃圾,老想赶快学习到东西跳槽离开,搞得超负荷,不明理。深圳做软件开发经常累死人,总有不明理的人,有个软件提醒限制很好,可以挽救很多人的生命。
相关新闻:
(1)IT行业成五大疾病重灾区:过劳死平均37.9岁
- 读《研磨设计模式》-代码笔记-原型模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* Effective Java 建议使用copy constructor or copy factory来代替clone()方法:
* 1.public Product copy(Product p){}
* 2.publi
- 配置管理---svn工具之权限配置
chenyu19891124
SVN
今天花了大半天的功夫,终于弄懂svn权限配置。下面是今天收获的战绩。
安装完svn后就是在svn中建立版本库,比如我本地的是版本库路径是C:\Repositories\pepos。pepos是我的版本库。在pepos的目录结构
pepos
component
webapps
在conf里面的auth里赋予的权限配置为
[groups]
- 浅谈程序员的数学修养
comsci
设计模式编程算法面试招聘
浅谈程序员的数学修养
- 批量执行 bulk collect与forall用法
daizj
oraclesqlbulk collectforall
BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、
FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。
有关FORALL语句的用法请参考:批量SQL之 F
- Linux下使用rsync最快速删除海量文件的方法
dongwei_6688
OS
1、先安装rsync:yum install rsync
2、建立一个空的文件夹:mkdir /tmp/test
3、用rsync删除目标目录:rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
- Yii CModel中rules验证规格
dcj3sjt126com
rulesyiivalidate
Yii cValidator主要用法分析:
yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError
 
- 基于vagrant的redis主从实验
dcj3sjt126com
vagrant
平台: Mac
工具: Vagrant
系统: Centos6.5
实验目的: Redis主从
实现思路
制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box
制作sentos6.5+redis的box
mkdir vagrant_redis
cd vagrant_
- Memcached(二)、Centos安装Memcached服务器
frank1234
centosmemcached
一、安装gcc
rpm和yum安装memcached服务器连接没有找到,所以我使用的是make的方式安装,由于make依赖于gcc,所以要先安装gcc
开始安装,命令如下,[color=red][b]顺序一定不能出错[/b][/color]:
建议可以先切换到root用户,不然可能会遇到权限问题:su root 输入密码......
rpm -ivh kernel-head
- Remove Duplicates from Sorted List
hcx2013
remove
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&
- Spring4新特性——JSR310日期时间API的支持
jinnianshilongnian
spring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- 浅谈enum与单例设计模式
247687009
java单例
在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。
第一种
package singleton;
public class Singleton {
//导出全局成员
public final static Singleton INSTANCE = new S
- 使用switch条件语句需要注意的几点
openwrt
cbreakswitch
1. 当满足条件的case中没有break,程序将依次执行其后的每种条件(包括default)直到遇到break跳出
int main()
{
int n = 1;
switch(n) {
case 1:
printf("--1--\n");
default:
printf("defa
- 配置Spring Mybatis JUnit测试环境的应用上下文
schnell18
springmybatisJUnit
Spring-test模块中的应用上下文和web及spring boot的有很大差异。主要试下来差异有:
单元测试的app context不支持从外部properties文件注入属性
@Value注解不能解析带通配符的路径字符串
解决第一个问题可以配置一个PropertyPlaceholderConfigurer的bean。
第二个问题的具体实例是:
 
- Java 定时任务总结一
tuoni
javaspringtimerquartztimertask
Java定时任务总结 一.从技术上分类大概分为以下三种方式: 1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务; 说明: java.util.Timer定时器,实际上是个线程,定时执行TimerTask类 &
- 一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法
yangshangchuan
rank相似度计算文本相似度词袋模型余弦相似度
本文描述了一种在ITEYE博客频道上面出现的新型的商业广告形式及其应对方法,对于其他的用户生成内容站点类型也具有同样的适用性。
最近在ITEYE博客频道上面出现了一种新型的商业广告形式,方法如下:
1、注册多个账号(一般10个以上)。
2、从多个账号中选择一个账号,发表1-2篇博文