- Omnissa Secure Email Gateway 2.31 - 电子邮件网关
虚拟化
OmnissaSecureEmailGateway2.31-电子邮件网关OmnissaAccess,formerlyWorkspaceONEAccess请访问原文链接:https://sysin.org/blog/omnissa-secure-email-gateway/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgOmnissaSecureEmailGateway安全电子邮件
- Python使用QQ邮箱发送邮件提示
高质量海王哦
pythonpython
python发送qq邮件htmlimportbase64importsmtplibimporttimefromemail.mime.textimportMIMETextdefsend_QQ_mail_HTML():user='
[email protected]'#发送方的邮箱账号passwd='xruuwiyxdcouddjg'#授权码receiver='
[email protected]
- 浅谈滤波中Q和R的调整——KF第三篇笔记
MATLAB卡尔曼
卡尔曼专题免费专栏开发语言kalman卡尔曼滤波算法
前段时间收到私信和email,问我关于Q和R怎么取、如何调。前面说过p0和x0怎么找的问题,Q和R怎么找还没有说过,这里就简单探讨一下。Q和R的意义Q值为过程噪声,越小系统越容易收敛,表示对模型预测的值信任度越高;但是太小则容易发散,如果Q为零,那么我们只相信预测值;Q值越大表示对于预测的信任度就越低,而对测量值的信任度就变高;如果Q值无穷大,那么则表示信任测量值。R值为测量噪声。R太大,滤波的响
- Ubuntu服务器提示:检测到存在恶意文件,补救思路
笑醉踏歌行
系统运维ubuntulinux运维
1.确定文件类型可以使用file命令来检查该文件的类型,这有助于判断它是否真的是一个恶意文件file/path/to/the/file2.检查文件内容使用strings命令查看文件内容,看是否有可疑的命令或脚本:strings/path/to/the/file3.扫描系统使用ClamAV这样的开源杀毒软件,来扫描可疑目录,来清除是否还有剩余的木马或病毒文件sudoaptupdatesudoapti
- next-auth v5 结合 Prisma 实现登录与会话管理
曹天骄
javascript
1.安装依赖npminstallnext-authprisma@prisma/client2.配置Prisma模型在prisma/schema.prisma文件中定义User和Account模型(next-authv5推荐使用自定义模型)。modelUser{idString@id@default(uuid())emailString@uniquenameString?imageString?ha
- Edu邮箱能申请的学生免费福利权益大全
明 庭
adobeideaintellij-ideaintellijidea
所需材料:一个Edu邮箱(如果还没有,可以通过这个Github获取:github.com/h4ck-lab/edu-mail)。1.AdobeCreativeCloud教育版权益:大幅折扣购买Adobe全家桶,包括Photoshop、Illustrator和PremierePro等软件套件(通常为原价的一半)。注册步骤:打开AdobeCreativeCloudforStudents页面。创建Ado
- git常用命令笔记
咩酱-小羊
git笔记
###用习惯了idea总是不记得git的一些常见命令,需要用到的时候总是担心旁边站了人~~~记个笔记@_@,告诉自己看笔记不丢人初始化初始化一个新的Git仓库gitinit配置配置用户信息gitconfig--globaluser.name"YourName"gitconfig--globaluser.email"
[email protected]"基本操作克隆远程仓库gitclone查看
- 【Git】常见命令(仅笔记)
好想有猫猫
GitLinux学习笔记git笔记elasticsearchlinuxc++
文章目录创建/初始化本地仓库添加本地仓库配置项提交文件查看仓库状态回退仓库查看日志分支删除文件暂存工作区代码远程仓库使用`.gitigore`文件让git不追踪一些文件标签创建/初始化本地仓库gitinit添加本地仓库配置项gitconfig-l#以列表形式显示配置项gitconfiguser.name"ljh"#配置user.namegitconfiguser.email"
[email protected]
- 效率神器来了:AI工具手把手教你快速提升工作效能
kkai人工智能
人工智能学习媒体aichatgpt
随着科技的进步,AI工具已经成为提升工作效率的关键手段。本文将介绍一些实用的AI工具和方法,帮助你自动化繁琐的重复性任务、优化数据管理、促进团队协作与沟通,并提升决策质量。背景:OOPAI-免费问答学习交流-GPT自动化重复性任务Zapier:Zapier可以自动化多个应用程序之间的工作流程。例如,它能自动将Gmail中的附件保存至GoogleDrive,或在你发布新文章时,自动分享至社交媒体平台
- 哪些网站用python开发
hakesashou
python基础知识python
国内的话,知乎,网易,腾讯,搜狐,金山,豆瓣这些属于用Python比较知名的。大型的项目的话,网易的许多游戏,腾讯的某些网站,搜狐的邮箱,金山的测试框架等等都是或多或少使用了Python。YouTube-视频分享网站,在某些功能上使用到python。Quora-社交问答网站。Google-谷歌在很多项目中用python作为网络应用的后端,如GoogleGroups、Gmail、GoogleMaps
- php状态监控源码,PHP服务器状态监控实现程序
江子星
php状态监控源码
*/header('Content-type:text/html;charset=utf-8');include'./smtp/class.smtp.php';include'./smtp/class.phpmailer.php';functionsendmail($subject='',$body=''){date_default_timezone_set('Asia/Shanghai');//
- mysql:表的约束(空属性,默认值,comment,zerofill,主键,唯一键,外键)
不会编程的阿成
数据库
目录表的约束空属性默认值(defualut)comment:列描述zerofill:显示约束主键自增长:auto_increment唯一键外键查询数据表的约束真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束有很多,这里主要介绍如下几个:null/notnull,defa
- Ubuntu搭建简易Postfix邮箱服务器
嫩草终结者
邮箱服务
本文转载自https://www.linuxdashen.com/ubuntu%E6%90%AD%E5%BB%BA%E7%AE%80%E6%98%93postfix%E9%82%AE%E7%AE%B1%E6%9C%8D%E5%8A%A1%E5%99%A8Ubuntu搭建简易Postfix邮箱服务器最后更新2016年4月20日分类Ubuntu服务器最新文章邮件服务器标签550mailcontentd
- Gerrit审核服务器搭建简易教程(Ubuntu 12.10)
LKV_刘言
//**********************************************欢迎转载,转载请注明出处,请尊重作者!http://blog.csdn.net/airk000Email:
[email protected]//**********************************************本文将详细记录如何在一个全新的Ubuntu系统中安装及配置Gerri
- python实现模糊逻辑_基于Python的大数据集模糊逻辑
takeiiii
python实现模糊逻辑
我的团队一直致力于在两个大数据集上运行模糊逻辑算法。第一个(子集)大约是180K行,包含我们需要在第二个(超集)中匹配的人的姓名、地址和电子邮件。超集包含250万条记录。两者都具有相同的结构,并且数据已经被清理,即地址解析、名称规范化等ContactIDint,FullNamevarchar(150),Addressvarchar(100),Emailvarchar(100)目标是将一行子集中的值
- Spring/SpringBoot中使用yaml/yml配置文件
Banboll
SpringSpringBootyamlymlSpringBoot
Spring/SpringBoot中使用yaml/yml配置文件需求例子需求在使用Spring/SpringBoot的过程中,我们总会使用到各种自定义配置,不可能把所有的配置都写到application.yml中,此时我们可以将某一部分自定义配置单独用一个文件提取出来,Spring也提供了相应的解决方案。例子test.ymlhuaiku:email:
[email protected]:中华人民
- 24. 如何在MyBatis中复用SQL片段?<sql>标签和<include>标签如何使用?
这孩子叫逆
Mybatis笔记javatomcatmybatis
在MyBatis中,开发者经常会遇到需要在多个地方复用相同的SQL片段的情况。为了减少代码重复并提高SQL的可维护性,MyBatis提供了标签和标签来实现SQL片段的复用。1.标签标签用于定义一个可以复用的SQL片段。你可以在MyBatis的XML映射文件中使用标签定义公共的SQL片段,然后通过标签在其他SQL语句中引入该片段。1.1标签的定义 id,username,email,phoneid:
- 如何配置公钥
null or notnull
gitee
首次配置公鑰:1.配置Git用户名和邮箱。gitconfig--globaluser.name"ligdssa"gitconfig--globaluser.email"
[email protected]"2.查看是否配置成功gitconfig--list3.生成创建SSH公钥C:\Users\用户文件夹\.ssh如果这文件夹中有文件,需要先删除(1).执行:ssh-keygen-ted25519-C"Gite
- visualforce page
古月的小七
publicclassContactListController{privateStringsortOrder='LastName';publicListgetContacts(){Listresults=Database.query('SELECTId,FirstName,Title,LastName,EmailFROMContactORDERBYLastNameLIMIT10');return
- 【网络安全】漏洞挖掘之会话管理缺陷
秋说
网络安全web安全漏洞挖掘会话管理
未经许可,不得转载。文章目录正文正文目标:example.com该站点允许存在主要邮箱和次要邮箱。在尝试使用次要邮箱和密码登录时,由于账户最初是通过主邮箱创建的,无法登录。于是,我通过次要邮箱使用GoogleOAuth进行登录。令人意外的是,我成功通过GoogleOAuth登录了该账户。接着,我在两个浏览器上登录了同一个账户:Chrome浏览器使用主邮箱(
[email protected])和
- php做表单打印,用PHP做一个简单的表单
温哥华小文青
PHP最有用的特性之一是它能够自动将表单中的变量值赋予PHP变量。这使得表单处理变得非常快捷。因此,假如你送出一个内含输入栏位值的表单如下:当你用PHP处理此页面,$name变量的值就会是GlenMorris。因此,你可以用如下的方式把值打印出来:echo"Hi$name!";或者像这样测试其值:if($name=="GlenMorris"){echo"Pleasecheckyouremail."
- 掌握Go语言邮件发送:net/smtp实用教程与最佳实践
walkskyer
golang标准库golanggithub开发语言
掌握Go语言邮件发送:net/smtp实用教程与最佳实践概述基本配置与初始化导入`net/smtp`包设置SMTP服务器基本信息创建SMTP客户端实例身份验证发送简单文本邮件配置发件人信息构建邮件头部信息编写邮件正文使用`SendMail`方法发送邮件示例代码发送带附件的邮件邮件多部分格式简介构建带有附件的邮件体使用`SendMail`方法发送邮件发送HTML格式的邮件HTML邮件的优势和应用场景
- 2020-03-02 Allow Multiple Prospects with the same email address.
古月的小七
目前这种属性是默认enable的了,在AccountSetting里面你可以看到相应的设置。AllowMultipleProspectswiththeSameEmailAddressEmailisnolongertheonlyuniqueidentifierinPardot.Pardotadminscanchecktheiraccountsettingspagetoseewhethertheira
- Python聊天服务器(一)
weixin_34375251
python网络数据结构与算法
对于镜像服务端来说,支持同时多个连接的能力是非常有用的,但是这也对服务端的实际功能没有多大的改变。每个客户端只跟服务端交互,甚至不跟其它客户端进行间接地交互。这是一个流行的模型,WEB服务器和MAIL服务器都使用这种模型。这里还有另外的一个类型的服务端:用于连接每个客户端。对很多程序来说,他们关注的并不是服务端,而是还有什么人连接到它。在线聊天室和游戏是这种类型的流行应用。在这一章,我们将设计和建
- 快速git
或许命运不可揣测
githubgit
下载sudoaptinstallgit配置$gitconfig--globaluser.name"JohnDoe"
[email protected]没有空格可以不加双引号如果~/.ssh没有先创建(下一步用)ssh方式制作密钥github解释#以邮箱作为标签或随意别的什么cd~/.sshssh-keygen-ted25519-C"your
- Win32使用邮槽(Mailslots)进行进程间通信
△曉風殘月〆
Win32win32vc++mailslotsIPC
最近在做一个资源管理器背景工具,将模块注入后,需要跟模块进行通信,意向传递一些信息。一开始想到的是使用共享内存,但是无法进行实时通知。匿名管道的话需要传入句柄字符串,也不太适用这里的场景。使用Mailslots可以间隔的去取消息,刚好可以实现这个需求。不同于消息队列的时,没取到消息时,不会阻塞。Mailslots介绍mailslot是驻留在内存中的伪文件,可以使用标准文件函数对其进行访问。mail
- python 发邮件无服务器,如何使用python直接从服务器发送电子邮件而不使用smtp
不想不见
python发邮件无服务器
其他选项当您在PHP中使用邮件功能时,它使用的是您所在主机的本地sendmail,而这又只是一个本地的SMTP中继,当然本地发送邮件并不是真正的建议,因为由于DKIM、SPF和其他保护机制,这些邮件可能没有很好的传递率。如果你关心可交付性,我建议使用a)用于发送邮件的外部SMTP服务器,该服务器已为发送域正确配置。b)API,如AWSSES、Mailgun或同等产品。如果您不关心可传递性,那么您当
- Python邮箱发送如何配置SMTP服务发送邮件?
danplus
python蜂邮EDM邮件营销服务器邮件营销API接口外贸开发信邮件接口
Python邮箱发送功能如何实现?如何使用Python发邮件?Python邮箱发送功能使得自动化邮件处理变得简单高效。通过配置SMTP服务,我们可以使用Python脚本来发送邮件。AokSend将详细介绍如何配置SMTP服务以实现Python邮箱发送。Python邮箱发送:选择服务大多数电子邮件服务提供商都提供了SMTP服务器地址。例如,Gmail的SMTP服务器地址是smtp.gmail.com
- SSH生成SSH密钥(公钥和私钥)
小刘同学++
ssh运维服务器
在设置SSH服务时,生成SSH密钥(公钥和私钥)是一个常见的任务。这些密钥用于安全地进行身份验证,无需输入密码。以下是如何生成SSH密钥的步骤:1.生成SSH密钥对首先,您需要在客户端机器上生成一个SSH密钥对。使用ssh-keygen命令来生成密钥对。ssh-keygen-trsa-b4096-C"
[email protected]"-trsa:指定密钥类型为RSA。-b4096:指定
- Zabbix的简介
蜡笔晓心
zabbixzabbix
Zabbix简介一、Zabbix介绍Zabbix是一个企业级的、开源的、分布式的监控套件Zabbix可以监控网络和服务的监控状况.Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警.这样可以保证快速的对问题作出响应.Zabbix可以利用存储数据提供杰出的报告及图形化方式.这一特性将帮助用户完成容量规划.Zabbix支持polling和trapping两种方式.所有的Zabbix
- 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