- c++多线程编写网络聊天室程序(socket)
g710710
c++socket多线程c++聊天网络winapi
先版本信息调用函数AfxSocketInit1BOOLCChatDlg::InitSocket(){m_socket=socket(AF_INET,SOCK_DGRAM,0);if(INVALID_SOCKET==m_socket){MessageBox("套接字创建失败!");returnFALSE;}SOCKADDR_INaddrSock;addrSock.sin_family=AF_INET
- xdata的使用
一切顺势而行
bigdata
{"job":{"setting":{"speed":{"channel":3},"errorLimit":{"record":0,"percentage":0.02}},"content":[{"reader":{"name":"mysqlreader","parameter":{"username":"root","password":"123456","column":["id","name
- 国产信创电脑如何查看IP地址、网关、DNS等信息
yeliuxiaozi
tcp/ip服务器网络协议
我的是清华同方TF830,可以直接使用命令查看!右击桌面,打开终端,键入命令nmclidevshow文章来自:https://techzhi.com/7.htmsxszf@sxszf-CX-TF830-Series:~/桌面$nmclidevshowGENERAL.设备:enp125s0f1GENERAL.类型:ethernetGENERAL.硬盘:F4:DE:AF:AD:8B:BEGENERAL
- 3DSwiper 好看的走马灯轮播图
代码来源vue3写法,复制即用❮❯//配置参数constconfig=reactive({maxWidth:'180px',speed:10000,//轮播速度multiple:1,//鼠标悬停放大倍速autoPlay:true,//是否自动轮播imgList:["https://img0.baidu.com/it/u=1446729335,4267600834&fm=
- hwclock的使用
https://wenku.baidu.com/view/0df8e438660e52ea551810a6f524ccbff121ca8f.html?fr=aladdin266&ind=1&aigcsid=0&qtype=0&lcid=1&queryKey=hwclock+%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E&verifyType=undefined&_wkts
- 第五十五节课:Python玫瑰花绘制实例解析
monday_CN
pythonpython开发语言
Python玫瑰花绘制实例解析目录问题分析代码实现技术要点思维拓展课程总结1.问题分析设计思路使用Python标准库turtle进行矢量绘图通过数学曲线模拟玫瑰花瓣形态分模块绘制花蕊、花瓣、枝叶等组件实现路径初始化画布绘制花蕊绘制主花瓣绘制辅助花瓣绘制枝叶色彩填充2.代码实现核心代码结构importturtle#初始化设置pen=turtle.Turtle()pen.speed(10)pen.co
- 论持久战-STM32实现的PWM输出学习记录
半斤技术八两宅
单片机控制相关单片机硬件控制
本来打算假期把stm32吃透的怎奈家里的床就像吸铁石,手机里的王者就像农药蚕食我的计划(珍爱生命远离王者)。那么我提一下目前的在搞的PWM输出吧。因为正在搞四轴飞行器,所以需要四路可调占空比的PWM信号来控制四个无刷电机。所以我需要利用stm32中的TIM4定时器来产生四路PWM。首先说下配置的思路及过程:1)开启TIM4和GPIO时钟,配置PB8|PB9|PB10|PB11选择复用功能AF输出2
- 《Linux内核TCP/IP 实现》:协议栈源码总纲二
HarkerYX
#【TCP-IP】tcp/iplinux网络
1.启动分析图2.数据发送流程图各层主要函数以及位置功能说明:1)sock_write:初始化msghdr{}结构net/socket.c2)sock_sendmsg:net/socket.c3)inet_sendmsg:net/ipv4/af_net.c4)tcp_sendmsg:申请sk_buff{}结构的空间,把msghdr{}结构中的数据填入sk_buff空间。net/ipv4/tcp.c
- 项目经理为啥钟爱PoE交换机?
wljslmz
网络技术网络运维服务器
PoE交换机的核心优势在于其通过单一网线同时传输数据和电力的能力。传统网络设备需要分别布设电源线和网线,这不仅增加了施工复杂性,还容易导致线路杂乱。而PoE技术通过以太网电缆(通常是Cat5e或Cat6)为设备供电,彻底改变了这一局面。技术原理PoE技术基于IEEE802.3af、802.3at和802.3bt等标准,允许交换机通过网线为受电设备(PD,如IP电话、无线AP、监控摄像头等)提供高达
- mac M1 brew 报错处理 tar: Error opening archive: Failed to open
如果我是温帅帅
问题记录编辑器
tar:Erroropeningarchive:Failedtoopen'/Users/wenxiaoyu/Library/Caches/Homebrew/downloads/e10272a6b3f3af1a52a04edaa8964beef1b6e36f105ded54e943ea1e048dc951--ghostscript-9.54.0.big_sur.bottle.tar.gz'Error
- python学习-13【网络编程】
kuiini
pythonpython学习网络
1、Socket网络模块Socket模块在Python中,使用socket模块的socket()函数来创建一个socket对象:socket.socket(family,type,proto)family:套接字家族,该参数指定调用者期待返回的套接字接口地址结构的类型AF_UNIX:同一台机器上的进程通信AF_INET:使用IPv4通信,不会返回IPv6的信息AF_INET6:使用IPv6通信,不
- 世界各国区号代码及时差
云博客-资源宝
世界各国区号代码及时差
资源宝整理分享:https://www.httple.net按Ctrl+F搜索CountriesandRegions国家或地区国际域名缩写电话代码时差Angola安哥拉AO244-7Afghanistan阿富汗AF93-3.5Albania阿尔巴尼亚AL355-7Algeria阿尔及利亚DZ213-7Andorra安道尔共和国AD376-8Anguilla安圭拉AI1264-13Antiguaan
- 算法打卡22天
?!714
算法leetcode职场和发展
电话号码的字母组合(力扣17题)定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例1:输入:digits=“23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例2:输入:digits=“”输出:[]示例3:输入:digits=“2”输出:[
- Node.js 简介(附电子学习资料)
hweiyu00
分享node.js
概述Node.js是一个基于ChromeV8引擎的JavaScript运行时环境,它让JavaScript能够在服务器端运行,实现了“一次编写,到处运行”的跨平台特性。以下是其核心特点和关键信息的简要介绍电子学习资料:https://pan.quark.cn/s/27af59655929核心特性事件驱动与非阻塞I/O采用异步编程模型,无需为每个请求创建新线程,通过事件循环处理并发请求,适合高并发、
- 相机自动对焦(AF)系统的深度技术解析:从光学原理到智能算法
start_up_go
智能硬件之路计算机视觉人工智能相机自动对焦AF
一、光学成像与对焦的物理本质1.对焦的核心目标:最小弥散圆理论当物体发射的光线通过镜头后,在传感器上形成的光斑称为“弥散圆”。当物体位于准确焦平面时,弥散圆直径最小(理想状态下为一个点),此时图像最清晰。数学表达:设允许的最大弥散圆直径为c,则焦深范围\(ΔL\)可表示为\(ΔL=\frac{2cL^2}{fD}\)(L为物距,f为焦距,D为光圈直径)。2.镜头移动的光学逻辑镜头组由多片镜片组成,
- datax到hive数据全部为空_DataX HIVE分区同步
一只mikan
一、DataXJson配置(样例){"job":{"setting":{"speed":{"channel":3,"byte":1048576},"errorLimit":{"record":0,"percentage":0.02}},"content":[{"reader":{"name":"hdfsreader","parameter":{"hadoopConfig":{"dfs.namese
- PyBroker 用于量化交易策略开发和回测的 Python 库 深入解析
hiquant
python
PyBroker深入解析PyBroker是一个用于量化交易策略开发和回测的Python库。它的核心设计理念是简洁(Simplicity)和速度(Speed)。核心特点:向量化回测(VectorizedBacktesting):PyBroker的主要优势。利用NumPy和Pandas对整个数据集进行批量计算,回测速度快,适合大数据集和参数优化。简洁的API:定义策略通常只需编写一个接收Context
- python之套接字传输
冉成未来
Servicepython网络协议
文章目录TCP传输服务端客户端实现图片的传输服务端客户端UDP传输服务端客户端TCP传输服务端"""tcp服务端流程"""fromsocketimport*#创建tcp套接字tcp_socket=socket(AF_INET,SOCK_STREAM)#绑定地址tcp_socket.bind(("0.0.0.0",8888))#设置监听tcp_socket.listen(3)#input(">>>>
- LeetCode-电话号码的字母组合(回溯)
深夜无眠T
刷题与算法leetcode算法java
每日一题今天刷到的是一道利用回溯来解决的题,不过稍微有点复杂,并且我也有一段时间没有做回溯了,所有在解题时也是思考了一段时间。题目要求给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例1:输入:digits="23"输出:["ad","ae","af","bd","be","bf","cd",
- java电话号码的字母组合(力扣Leetcode17)
BenChuat
算法学习javaleetcode开发语言算法
电话号码的字母组合力扣原题链接问题描述给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例示例1:输入:digits=“23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例2:输入:digits=“”输出:[]示例3:输入:digits=“
- 《Linux C编程实战》笔记:套接字编程
ouliten
linuxc语言笔记
套接字地址结构结构structsockaddr定义了通用的套接字地址,它在sys/socket.h中的定义代码如下:#includestructsockaddr{sa_family_tsa_family;//地址族,例如AF_INET(IPv4)、AF_INET6(IPv6)charsa_data[14];//地址数据(具体内容依地址族而定)};其中,sa_family表示套接字的协议族类型;sa
- 探索Afero:Go语言的文件系统抽象框架
费然杨Bernadette
探索Afero:Go语言的文件系统抽象框架aferoAFileSystemAbstractionSystemforGo项目地址:https://gitcode.com/gh_mirrors/af/afero在现代软件开发中,文件系统的操作是不可或缺的一部分。然而,直接使用操作系统提供的文件系统接口往往会导致代码的耦合度增加,不利于测试和维护。为了解决这一问题,Afero应运而生,它是一个为Go语言
- 广告系统中后链路数据为什么要使用流批一体技术?流批一体技术是什么?
盒子6910
运维视角下的广告业务pythonjavac++javascriptphpai
在大规模广告系统的后链路(离线和实时特征计算、模型训练与上线、效果监控等)中,往往既有对海量历史数据的批量计算需求(离线特征、离线模型训练、报表汇总),又有对在线请求的低延迟实时计算需求(实时特征、在线打分、实时监控/告警)。传统将二者割裂、用Lambda架构(Batch+Speed层)分别实现,带来了:•代码与业务逻辑重复•数据语义/计算结果不一致•运维成本、调度复杂度翻倍•开发调试效率低流批一
- Arduino 串口库说明
Arduino的Aokiwoyi
经验分享
串口库说明硬件模拟串口通信Serial.available()返回串口接收缓冲区的字节数Serial.begin(speed,config)初始化串口,speed波特率,config数据、校验、停止位Serial.end()释放串口通信引脚,使其作为普通引脚Serial.SerialEvent()串口数据准备好时触发的事件函数,即串口数据准备好调用该函数Serial.find(target)在缓冲
- signature=cdae83b1c2034e2244a378f624349dfb,交易 5de4b049674ce199c230c71a724862997884c3f471690f7cd841ed...
Tranyn.X
00483045022100b87d26ad2ee0474626d3dfae000206a9ff0d0101712ab515e1b68ec9d9fbe41b02201a8b16ee6af29051a3d9e8cd64d0a29d4441c286ea36a5f223bd5347544d58e74147304402204e60fad2d2833774e2572b38147f637cbfc232a7fd
- linux yum,rpm,dkpg,apt区别
卫生纸不够用
linuxlinux运维服务器
https://cn.linux-console.net/?p=13281#:~:text=%E5%A6%82%E6%9E%9C%E6%82%A8%E6%83%B3%E4%BD%BF%E7%94%A8%20dpkg%20%E5%AE%89%E8%A3%85%E6%9C%AC%E5%9C%B0%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%8C%E6%82%A8%E5%8F%AF
- 解决OpenCV中的Microsoft C++异常:cv::Exception在内存位置x002af处的编程错误
CyberXZ
opencvmicrosoftc++编程
解决OpenCV中的MicrosoftC++异常:cv::Exception在内存位置x002af处的编程错误在使用OpenCV进行图像处理和计算机视觉任务时,有时可能会遇到MicrosoftC++异常,其中一个常见的异常是cv::Exception。这种异常通常由错误的内存访问或OpenCV函数的错误使用引发。本文将介绍如何解决这种异常,并提供相应的示例代码。要解决这个问题,我们需要仔细检查代码
- 【高效开发工具系列】Blackmagic Disk Speed Test for Mac:专业硬盘测速工具
檀越@新空间
s0常用工具macos
博客目录一、BlackmagicDiskSpeedTest概述二、软件核心功能解析三、v3.3版本的新特性与改进四、实际应用场景分析五、使用技巧与最佳实践六、与其他工具的比较及优势一、BlackmagicDiskSpeedTest概述BlackmagicDiskSpeedTest是Mac平台上广受专业人士青睐的一款硬盘性能测试工具,由知名的BlackmagicDesign公司开发。这款工具专门设计
- [转] java - 过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解
weixin_34245749
javac/c++移动开发
标签PostgreSQL,java,Greenplum,0x00,空字符,NUL,数据清洗,规则,过滤,非法字符背景原文http://www.codeweblog.com/sqlserve%E5%88%B0pg%E8%BF%81%E7%A7%BB%E9%94%99%E8%AF%AF-%E6%97%A0%E6%95%88%E7%9A%84%E7%BC%96%E7%A0%81%E5%BA%8F%E5%
- `sendto()` / `recvfrom()` - 发送/接收数据(UDP)
什么半岛铁盒
udp单片机网络协议
以下是Linux网络通信核心函数的详细参数说明及示例代码,涵盖TCP/UDP的关键接口:**1.socket()-创建套接字函数原型intsocket(intdomain,inttype,intprotocol);参数说明参数说明domain协议族:AF_INET(IPv4)、AF_INET6(IPv6)、AF_UNIX(本地通信)type套接字类型:SOCK_STREAM(TCP)、SOCK_D
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http