- Bert学习笔记
缓释多巴胺。
大模型相关知识语言模型bert
一、Bert架构BERT使用了双向的TransformerGPT使用从左到右的单向信息ELMo把单独训练的从左到右及从右到左的LSTM模型进行合并二、Bert预训练任务2.1遮蔽语言模型MLM任务:随机屏蔽(masking)部分输入token,然后只预测那些被屏蔽的token。问题:预训练任务与微调任务不一致原因:在finetuning期间从未看到[MASK]token,预训练和finetunin
- K8s 端口转发实战指南(Practical Guide to k8s Port Forwarding)
Linux运维老纪
天涯海角k8s伴你同行kubernetes容器云原生运维开发分布式
K8s端口转发实战指南1.背景1.1Kubernetes网络隔离性挑战在Kubernetes集群中,所有资源都运行在私有网络空间(通常使用CNI插件构建overlay网络),这带来了以下调试难题:Pod使用动态IP地址(生命周期短暂)Service的ClusterIP仅在集群内部可达生产环境通常禁用NodePort等暴露方式1.2典型使用场景场景类型具体案例传统方案痛点本地开发调试访问未暴露的We
- 【Spring】整合【SpringMVC】
好教员好
javaspring
导入依赖 org.springframework spring-core ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-web ${spring.version} org.springframe
- 琴韵博主 —— 工具集
琴 韵
知识库在线文档
CSDN猿如意_开发者工具箱CSDN开发助手ChromeChrome最新版离线下载internetdownloadmanager付费在线转换在线JSON字符串转Java实体类(JavaBean、Entity)在线MD5加密解密YAML、YML在线编辑器(格式化校验)在线图片转换成文字图片base64互转颜色转换颜色转换人民币大小写转换蛙蛙:英文字母大小写转换、文本工具汉字拼音在线转换Google翻
- conda 环境重命名
一只积极向上的小咸鱼
conda
1.查询当前存在的虚拟环境及其信息condainfo--envs2.虚拟环境更名如我这边需要对detectron2进行更名,那么找到detectron2对应的文件夹,直接将文件夹名称修改为任意你想要修改的名字即可!如我这边将detectron2修改为change_name:mvdetectron2change_name参考https://blog.csdn.net/qq_15969343/arti
- 遍历二叉树——前序 中序 后序 层序
吧啦吧啦嘭
#数据结构c语言数据结构c++
//遍历二叉树#include#include#defineTElemTypeint#defineMAXSIZE9999typedefstructBiNode{TElemTypedata;structBiNode*lchild,*rchild;}BiTNode,*BiTree;BiNode*CreatBiT(){TElemTypech;BiTreeT;ch=getchar();if(ch=='#'
- 去中心化存储的新纪元:Python与IPFS的完美结合
Echo_Wish
Python!实战!去中心化python区块链
去中心化存储的新纪元:Python与IPFS的完美结合在数据爆炸的时代,存储和共享数据的方式正在发生革命性的变化。传统的中心化存储方案虽然广泛应用,但其安全性、可靠性和可扩展性却始终存在挑战。与此同时,去中心化存储方案正在逐渐兴起,并展现出巨大的潜力。本文将围绕Python与IPFS(InterPlanetaryFileSystem)的结合,探讨如何构建高效的去中心化存储解决方案。为什么选择去中心
- rhcsa个人学习笔记
小峰彩铃
学习笔记
一、配置网卡cd/etc/sysconfig/network-scripts/进入网卡文件夹vimifcfg-eth0修改网卡配置ipaddr=172.25.250.10netmask=255.255.255.0gateway=172.25.250.254dns=172.25.250.254systemctlrestartNetworkManagerifdowneth0;关闭网卡ifupeth0;
- 数据机构 C语言实现队列(含代码详解 易懂)
码上好玩
/*数学模型参照《大话数据结构》队列部分!!!取余运算实现队列循环!!!*/#include#include#include#include#defineOK1#defineERROR0#defineTURE1#defineFALSE0#defineMAXSIZE20/*队列最大的成员个数即数组的长度*/typedefintStatus;typedefintQElemType;/*循环队列的顺序存
- rabbitmq-amqp事务消息+消费失败重试机制+prefetch限流
執迷王二
rabbitmq分布式
1.安装和配置org.springframework.bootspring-boot-starter-amqpcom.fasterxml.jackson.corejackson-databind1.2yml配置###生产端的配置spring:rabbitmq:host:localhostport:5672virtual-host:/#虚拟主机username:guestpassword:guest
- tcp常用网络接口 linux环境
gyc2727
tcp/iplinux网络
TCP(传输控制协议)网络通信是常见的网络应用形式,它提供了面向连接的、可靠的数据传输服务。TCP通信常用的接口主要包括以下几个方面:常用接口1.socket()intsocket(intdomain,inttype,intprotocol);功能:打开一个网络通讯端口,并返回一个文件描述符(socket描述符)。参数:domain:地址族,对于IPv4,指定为AF_INET。type:套接字类型
- Django ORM 中的 RelatedManager 特殊方法
jay丿
djangosqlite数据库
DjangoORM中的RelatedManager特殊方法在Django的ORM(对象关系映射)框架中,处理关联关系是一项核心功能。当我们在模型之间定义外键(ForeignKey)、一对多(OneToMany)或多对多(ManyToMany)关系时,Django提供了一系列工具和方法来方便地管理这些关系。其中,RelatedManager是一个特别重要的概念,它是一个管理器(Manager),用于
- Springboot应用json数据传给前端首字母大写变小写的问题
珠峰日记
css3cssspringjqueryhtml
对接.net数据,属性首字母大写传给前端后自动转成了小写。解决思路网上有三种:1)如果没有使用fastjson(阿里巴巴出品),使用@JsonProperty("XXXX")的注解方式可以解决问题,XXXX就是转换成Json的属性名,但注意,只有放在getter上才是有效的,直接在属性上加没效果.(这说明spring默认的jackson类库处理是基于访问器。2)如果使用了fastjson,就用@J
- CSnakes vs Python.NET:跨语言集成的巅峰对决与架构解密
领码科技
AI应用技能篇实战篇跨语言集成.NETPython性能优化双向互操作
摘要本文深入剖析了.NET生态中两大Python集成方案——CSnakes与Python.NET的技术差异。从底层架构、类型系统、执行性能到应用场景,我们进行了全方位对比。CSnakes凭借源生成器与PythonC-API直连,实现了微秒级调用延迟;而Python.NET则通过动态类型系统构建了双向互操作桥梁。通过实测数据与典型场景推演,本文为开发者提供了精准的技术选型指南。关键词:跨语言集成、.
- registry 删除私有仓库镜像
敏君宝爸
docker容器
原文链接:https://blog.csdn.net/yogima/article/details/122172744docker之register搭建私有镜像仓库以及删除docker历史的临时镜像(虚悬镜像)-nick_xm-博客园如果需要彻底删除,只需进行register磁盘删除镜像彻底删除了,就可以到达彻底删除的目的。如果只需要软删除,则只需进行通过API删除。curl--header"Ac
- Kubernetes 基础学习和概念;PVC/Configmap/service/deploment/
敏君宝爸
kubernetes学习容器
Kubernetes-doc|kubernetes-doc教程|Kubernetesk8s-随笔分类-邹邹很busy。-博客园apiVersion:apps/v1#指定api版本,此值必须在kubectlapi-versions中kind:Deployment#指定创建资源的角色/类型metadata:#资源的元数据/属性name:demo#资源的名字,在同一个namespace中必须唯一name
- 第五章 nfs服务器
Chen_l916
phplinux开发语言
NFS(NetworkFileSystem,网络文件系统)是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。nfs配置[root@localhost~]#yuminstallrpcbi
- 神经网络VS决策树
Persistence is gold
神经网络决策树人工智能
神经网络(NeuralNetworks)和决策树(DecisionTrees)是两种不同的机器学习算法,各自具有独特的优点和适用场景。以下是它们的详细比较:神经网络优点:强大的学习能力:神经网络,尤其是深度神经网络,能够自动学习数据中的复杂特征,可以处理高维和非线性的问题。适用性广泛:神经网络适用于分类、回归、图像处理、语音识别、自然语言处理等多种任务。多层结构:通过增加隐藏层,神经网络可以逐层提
- mysql语句设置超时_mysql语句执行超时设置
钢的琴琴琴琴
mysql语句设置超时
对于Saas系统来说,设置语句执行超时时间是必要的,原因有二:(1)避免一些有性能问题的语句长时间执行占用大量资源,影响其他用户的使用;(2)避免请求都被中断了服务端还在长时间的执行SQL语句,无谓的消耗资源;有两种方式来设置执行超时,任选一种:1.客户端代码中设置例如:使用mysql的.net驱动MysqlCommand.CommandTimeout=xxx(秒)驱动的实现原理:(1)超时时间到
- YOLOv12改进之A2(区域注意力)
清风AI
深度学习算法详解及代码复现深度学习机器学习计算机视觉人工智能算法
注意力回顾注意力机制作为深度学习领域的核心技术,已广泛应用于自然语言处理和计算机视觉等多个领域。在YOLOv12改进之A2中,注意力机制扮演着关键角色。已有研究成果包括:Transformer架构:引入了自注意力机制,有效捕捉输入序列中的长距离依赖关系。CBAM模块:提出了通道和空间注意力的结合,显著提升了图像分类和目标检测的性能。SENet:引入了通道注意力机制,通过自适应学习特征通道的重要性,
- 如何用python创建文件_python 如何新建一个新的File?
weixin_39825105
如何用python创建文件
展开全部#pythonf=open('f.txt','w')#r只读,w可写,a追加2113foriinrange(0,10):f.write(str(i)+'\n')例子:#!/usr/bin/python#coding=utf-8importosimporttimeimportsysf=open('a.txt','a')f.write(os.popen('netstat-nltp|grep22
- 通过 Groq 后端加载Llama 模型,并调用Function call,也就是通过Groq 后端进行工具的绑定和调用
背太阳的牧羊人
agent+langchainllama语言模型Function_call
完整代码:importgetpassimportosfromlangchain.chat_modelsimportinit_chat_modelfromlangchain_core.toolsimporttoolfromlangchain_core.messagesimportHumanMessage,ToolMessage,SystemMessage#如果没有设置GROQ_API_KEY,则提示
- 交叉编译树莓派的curl库支持ssl
骑车男孩
树莓派curl
1.开发环境(1)装有openssl的ubuntu(2)交叉编译工具arm-linux-gnueabihf-gcc(3)openssl和libcurl源码交叉编译工具的安装https://blog.csdn.net/qq_46777053/article/details/110221159libcurl源码的获取https://github.com/curl/curl/releases/tag/c
- 揭秘AWS GPU实例:以极致AI算力与成本优化,重塑企业智能竞争力
AWS官方合作商
人工智能aws云计算gpu算力
在AI模型规模指数级增长的今天,算力已成为企业创新的胜负手。面对动辄千亿参数的LLM大模型训练、实时高并发的AI推理场景,如何兼顾超强算力与极致成本?本文将深度解析AWSGPU实例的颠覆性技术方案,带您解锁AI时代的核心生产力。一、AWSGPU实例:为AI而生的算力引擎1.1硬件级加速:定义行业标杆NVIDIA顶级芯片阵容:搭载A100/V100TensorCoreGPU(P4/P3实例)、最新H
- STM32CubeIDE/MX工程文件揭秘:HAL库main.c/main.h代码架构详解(新手必看)
·周小怪°
stm32c语言架构单片机mcu
一、工程文件结构预览Project/├──Core/│├──Inc/→头文件目录││└──main.h→主配置头文件│└──Src/→源文件目录│└──main.c→主程序文件└──...→其他外设配置文件二、main.c文件全解析-架构图解1.代码头部版权信息/*USERCODEBEGINHeader*//*********************************************
- .NET 多线程 C# 多线程 持续更新、完善、进化
shepherd枸杞泡茶
C#.netc#
在.NET环境下,多线程编程主要有ThreadThreadPoolTaskParallelBackgroundWorker等几种,还有一个与多线程相关的:异步编程async/await,值得强调的是,异步编程不等于多线程。当然,这几种多线程编程的方式并不是独立开的,在底层的封装有一定的联系。1.Thread1.1基础应用引用Thread的命名空间usingSystem;usingSystem.Th
- 《机器学习实战:从数据清洗到云端部署的可视化进阶指南(三)》
庸俗今天不摸鱼
机器学习人工智能python
▍前言:阶段核心突破当前已完成模型开发与优化升级核心任务,成功将理论模型转化为工业级解决方案。本阶段基于前期标准化数据,实现从基础模型构建到高性能算法迭代的跨越式发展。▍章节回顾:攻坚与优化成果3.模型开发阶段算法实现:逻辑回归:搭建分类基线(LogisticRegression,准确率基准)支持向量机:对比线性核与RBF核性能差异(F1-score提升12%)K近邻:动态优化邻居数(k=5时验证
- 【工具篇】【深度解析字节跳动AI编程工具Trae:中文开发者的新利器】
再见孙悟空_
【2025AI学习从零单排系列】【2025AI工具合集】AI编程Trae人工智能CursorAI开发AI代码AI插件
一、Trae工具基本信息1.1背景与定位Trae是字节跳动在2025年1月正式推出的AI集成开发环境(IDE),专为中文开发者深度定制,目标是解决现有工具(如Cursor、VSCode)对中文支持不足的问题。它基于大模型技术(如GPT-4o、Claude-3.5-Sonnet),主打AI代码自动生成和智能开发辅助,被官方称为“从Copilot到Autopilot的进化”。1.2核心功能AI代码生成
- 《Python基础教程》第7章笔记:进一步抽象(面向对象编程)
WalkingComputer
python笔记开发语言面向对象教程入门
《Python基础教程》第1章笔记https://blog.csdn.net/holeer/article/details/143052930目录第7章进一步抽象7.1对象魔法7.2类7.2.1类到底是什么7.2.2创建自定义类7.2.4再谈隐藏7.2.5类的命名空间7.2.6指定超类7.2.7深入探讨继承7.2.8多个超类7.2.9接口和内省7.2.10抽象基类7.3关于面向对象设计的一些思考第
- Python遍历pandas数据方法总结
tmapi
包罗万象pythonpandas开发语言
一、使用iterrows()iterrows()是pandas中最常用的遍历DataFrame行的方法之一。它将DataFrame的每一行作为一个Series进行迭代。importpandasaspddefiterrows_example():#创建一个示例DataFramedata={'Name':['Alice','Bob','Charlie'],'Age':[25,30,35],'Score
- 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