- python怎么将png转为tif_png转tif
weixin_39977276
发国外的文章要求图片是tif,cmyk色彩空间的。大小尺寸还有要求。比如网上大神多,找到了一段代码,感谢!https://www.jianshu.com/p/ec2af4311f56https://github.com/KevinZc007/image2Tifimportjava.awt.image.BufferedImage;importjava.io.File;importjava.io.Fi
- MySQL内存结构
san.hang
数据库数据结构与算法
实际上MySQL内存的组成和Oracle类似,也可以分为SGA(系统全局区)和PGA(程序缓存区)。mysql>showvariableslike"%buffer%";一、SGA1.innodb_buffer_bool用来缓存Innodb表的数据、索引、插入缓冲、数据字典等信息。2.innodb_log_buffer事务在内存中的缓冲,即redlogbuffer的大小3.querycache高速查
- netty-简易聊天
2401_84046645
程序员java开发语言
publicvoidsend(Stringtext){channel.writeAndFlush(Unpooled.copiedBuffer(text.getBytes()));}publicvoidcloseConnect(){send(“bye”);channel.close();}}classMyHandlerextendsChannelInboundHandlerAdapter{@Over
- 字节跳动面试官亲述:Android开发学会了这些技术,你离大厂不远了
m0_65322636
程序员架构移动开发android
HTTPSHTTP是超文本传输协议,明文传输;HTTPS使用SSL协议对HTTP传输数据进行了加密HTTP默认80端口;HTTPS默认443端口优点:安全缺点:费时、SSL证书收费,加密能力还是有限的,但是比HTTP强多了2、Java基础&容器&同步&设计模式StringBuilder、StringBuffer、+、String.concat链接字符串:StringBuffer线程安全,Strin
- windows C++-并行编程-并行算法(五) -选择排序算法
sului
windowsC++并行编程技术c++windows
并行模式库(PPL)提供了对数据集合并行地执行工作的算法。这些算法类似于C++标准库提供的算法。并行算法由并发运行时中的现有功能组成。在许多情况下,parallel_sort会提供速度和内存性能的最佳平衡。但是,当您增加数据集的大小、可用处理器的数量或比较函数的复杂性时,parallel_buffered_sort或parallel_radixsort性能更佳。确定在任何给定方案中使用哪种排序算法
- 【C语言编程】【小游戏】【俄罗斯方块】
星毅要努力
c语言开发语言学习游戏
#include#include#include#include#include#include#defineWIDTH12#defineHEIGHT18#defineBUFFER_WIDTH(WIDTH*2+20)#defineBUFFER_HEIGHT(HEIGHT+2)charfield[HEIGHT][WIDTH]={0};intscore=0;charbuffer[BUFFER_HEIG
- Protobuf学习 - 入门
weixin_30892987
c/c++python数据结构与算法
古之立大事者,不惟有超世之才,亦必有坚忍不拔之志--苏轼·《晁错论》从公司的项目源码中看到了这个东西,觉得挺好用的,写篇博客做下小总结。下面的操作以C++为编程语言,protoc的版本为libprotoc3.2.0。一、Protobuf?1.是什么?GoogleProtocolBuffer(简称Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存
- 【保姆级】Protobuf详解及入门指南
AQin1012
Java网络protobuf序列化二进制协议协议Java
目录Protobuf概述什么是Protobuf为什么要使用ProtobufProtobuf实战环境配置创建文件解析/封装数据附录AQin.proto完整代码Protobuf概述什么是ProtobufProtobuf(ProtocolBuffers)协议Protobuf是一种由Google开发的二进制序列化格式和相关的技术,它用于高效地序列化和反序列化结构化数据,通常用于网络通信、数据存储等场景为什
- Java之String、StringBuffer、StringBuilder
zoux
(1)String:String类是final修饰的,是不可变的。我们看到的例如:Stringa="hello";a=a+"1";实际上是先生成了一个对象然后得到结果"hello1",最后在赋值给对象a;String类型的任何改动都是先生成一个其他对象再重新赋值。所以String类适合那种常量或者基本没变化的字符串。(2)StringBuilderStringbuffer是可改变的,用append
- Linux 帧缓存 数据,嵌入式Linux通过帧缓存截图 – Framebuffer Screenshot in Embedded Linux...
weixin_39578674
Linux帧缓存数据
嵌入式Linux通过帧缓存截图–EmbeddedLinuxFramebufferScreenshot【目的】板子上已经可以运行Qtopia的demo和example了,想要将其qt的demo程序的画面截取下来,给其他人看。最原始的方法就是,找个相机,对着板子照几张即可。另外的办法,通过framebuffer去截图,截取运行中的qtdemo的画面,效果会更好,图片也更清晰。【解决过程】1.将fram
- C/C++应避免的一些坑和问题
梓默
#Cc++c语言c#
#defineSPI_BUFFER_SIZE4*1024for(uint16_ti=0;i<(Size/SPI_BUFFER_SIZE);i++)//由于宏定义是直接替换,所以i<(Size/SPI_BUFFER_SIZE)实际是i<(Size/4*1024)//*/是同级运算//后者往往不是我们想要的结果为了避免这种情况最好宏定义时最好不带运算符或者加上括号#defineSPI_BUFFER_S
- 一文搞懂 Flink Task 数据交互之数据写源码
mn_kw
flink交互java
一文搞懂FlinkTask数据交互之数据写源码1.RecordWriterOutput2.RecordWriter3.数据分区器ChannelSelector4.数据输出模型ResultPartition5.子模型ResultSubpartition6.本地buffer池LocalBufferPool7.获取buffer8.将buffer添加到ResultSubpartitionFlink重要源码
- framebuffer帧缓存
我相遇拾年
缓存
framebuffer:帧缓冲,帧缓存Linux内核为显示提供的一套应用程序接口。(驱动内核支持)framebuffer本质上是一块显示缓存,往显示缓存中写入特定格式的数据就意味着向屏幕输出内容。framebuffer驱动程序控制LCD显示设备,通过映射framebuffer设备到用户空间,应用程序可以直接对显存进行操作,从而控制LCD显示内容framebuffer使用显示屏:800*600(横向
- java读取csv文件
c++代码诗人
java与netwindowspython开发语言
importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.ArrayList;importjava.util.List;importjava.util.regex.Matcher;import
- C++17 非类型模板参数的auto 和 DevC++ 支持C++17
bcbobo21cn
VC++C++11C++17auto类型模板参数非类型模板参数
模板参数分为两种,一种是类型模板参数,也是我们用得最多的一种:templateautoadd(Tt,Uu){returnt+u;}里面的T和U都是类型模板参数。另一种是非类型模板参数,它可以让不同的字面量成为模板的参数:templateclassbuffer_t{public:T&alloc();voidfree(T&item);private:Tdata[BufSize];}buffer_tbu
- vue 预览 word_vue预览word
2401_84437530
程序员vue.jsword前端
//将file转为bufferletfr=newFileReader();fr.readAsArrayBuffer(content.file);fr.addEventListener("loadend",(e)=>{console.log("loadend---->",e)letbuffer=e.target.result;this.docxRender(buffer);},false);}//"
- C# WPF上位机与西门子PLC通信实现实例解析
zls365365
c#wpf开发语言
1.使用第三方库(如S7.Net或Sharp7)代码示例://使用S7.Net库与PLC建立连接varplc=newS7.Net.Plc(CpuType.S71500,"192.168.1.10",0,1);plc.Open();//读取PLC中的DB块byte[]buffer=newbyte[256];plc.Read("DB1.DBD0",buffer.Length,buffer);优点:简化
- Java API 之文件(File) && 异常(Exception)详解
艾伦~耶格尔
Java初级java开发语言学习
下面介绍两个关于Java的API的使用,分别是文件(File)、异常(Exception)一、文件(File)1.读取文件使用BufferedReader和FileReader示例代码:importjava.io.BufferedReader;importjava.io.FileReader;importjava.io.IOException;publicclassReadFileExample{
- InnoDB内部结构
小园子的小菜
mysqljavamysql后端
在mysql数据库中,InnoDB存储引擎是最为常用和强大的存储引擎之一。了解InnoDB的内存结构对于优化数据库的性能,提高系统的稳定性和扩展性至关重要。本文将深入探讨InnoDB的内存结构。1.BufferPoolBufferPool:缓冲池,其作用是用来缓存表数据和索引数据,可以看作是数据库的高速缓存,可以减少磁盘的I/O操作,提高数据库的访问性能。BufferPool由缓存数据页(Page
- 【BIO、NIO、AIO适用场景分析】
代码哲学
niojava
BIO、NIO、AIO适用场景分析1.适用场景:2.BIO基本介绍2.1BIO示例3.JavaNIO基本介绍3.1NIO中三个核心部分:3.2NIO非阻塞3.3buffer案例3.4比较1.适用场景:BIO方式适用于连接数目比较少且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用之内,jdk1.4以前的唯一选择,但程序简单易理解。NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比
- Protocol Buffer编译器安装
雪域迷影
本文翻译自ProtocolBufferCompilerInstallationProtocolBufferCompilerInstallation如何安装protocolbuffer编译器尽管不是强制性的,但gRPC应用程序通常利用ProtocolBuufer来进行服务定义和数据序列化。该站点上的大多数示例代码都使用protocolbuffer语言(proto3)的版本3。protocolbuff
- TypeError: object supporting the buffer API required
一碗烈酒
异常报错tips其他
pycharm使用Pymysql链接数据库报错TypeError:objectsupportingthebufferAPIrequired原因:是因为password需要str格式字符串而我写成了int类型把password改成字符串str格式即可
- FrameBuffer
[MoonquakesJ
数据结构
一、基本概念FrameBuffer:可以译作"帧缓冲、帧缓存",有时简称为fbdrv。这是一种独立于硬件的抽象图形设备。是Linux为显示设备提供的一个接口,把显存抽象后的一种设备,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作控制fb。对于应用层,通过操作/dev/fb*,通过ioctl来用各种命令控制fb/usr/include/linux/fb.h中查看进入内核源码中看看,里面定义
- 【io_uring】简介和使用
ywang_wnlo
存储liburingio_uring
文章目录简介使用系统调用liburing样例代码流程编译参考资料简介io_uring是Linux在5.1版本引入的一套新的异步IO实现。相比Linux在2.6版本引入的AIO,io_uring性能强很多,接近SPDK[1],同时支持bufferIOio_uring的作者JensAxboe是Linux内核块层和其他块设备的维护者,同时也是CFQ、Noop、Deadline调度器、blktrace以及
- 【pytorch】register_buffer的使用
Aha_aho
pytorch人工智能python
这篇文章讲解很清晰,以下内容仅做补充,探讨哪些对象需要手动注册,哪些会自动注册。在PyTorch中,哪些对象会自动注册为模型的一部分取决于它们的类型以及你如何定义它们。下面列出不需要手动注册、会自动注册的几种情况:1.nn.Parameter自动注册:任何你在nn.Module中定义为nn.Parameter的张量都会自动注册为模型的参数。它们会被视为模型的可训练参数,并且会被包含在模型的stat
- socket多线程和Ringbuffer详解
走别人不走的路
linuxc语言android
关注微信公众号:【快乐程序猿】查看更多篇章相信很多读者都知道多线程是什么,那RingBuffer可能就不太清楚了,那我们先来介绍下什么是RingBuffer。RingBuffer,也称为循环缓冲区,是一种固定大小的缓冲区,用于在生产者和消费者之间传递数据。它是一种数据结构,常用于需要缓冲数据流的场合,如音频处理、数据通信等。1.结构缓冲区大小:RingBuffer有一个固定的容量,即可以容纳的数据
- 深入解析 Node.js 核心模块与异步编程:高效构建现代服务器应用
Switch616
前端node.js服务器运维前端es6
深入解析Node.js核心模块与异步编程:高效构建现代服务器应用目录Node.js异步编程Node.js核心模块⚙️http模块创建HTTP服务器处理HTTP请求和响应实现RESTfulAPI️express框架Express的基本使用路由管理中间件的使用请求和响应处理stream模块流的基本概念可读流和可写流管道操作events模块事件发射器事件监听自定义事件buffer模块Buffer对象的创
- C++使用curl进行GET,POST,PUT,DELETE请求
咚咚姜
c++开发语言
//注意回调函数不能是普通的成员函数staticsize_tgetUrlResponse(void*buffer,size_tsize,size_tcount,void*response){std::string*str=(std::string*)response;(*str).append((char*)buffer,size*count);returnsize*count;}std::str
- POST请求传入中文参数,接收端乱码
常敲代码手不生
IDEA学习与实践
问题描述:通过post请求调试短信接口发送出去后,客户端无法收到短信,中文内容乱码追踪过程:接口采用post请求进行,无法收取短信的接口代码如下:publicstaticStringsendPost(Stringurl,MapparamMap){PrintWriterout=null;BufferedReaderin=null;Stringresult="";try{URLrealUrl=newU
- dockerfile部署fastapi项目
hzw0510
dockerfastapi
dockerfile部署fastapi项目1、Dockerfile#使用Python官方镜像作为基础镜像FROMpython:3.8-slim#更新apt-get源并安装依赖#RUNapt-getupdate-y&&apt-getinstall-ygit#设置环境变量ENVPYTHONDONTWRITEBYTECODE1ENVPYTHONUNBUFFERED1#创建工作目录WORKDIR/app#
- 插入表主键冲突做更新
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篇博文