- SpringBoot 监控 SQL 运行情况(实战教程)
153_m0_67912929
springbootsql后端
1基本概念2添加依赖3配置相关属性4sql监控5慢sql记录6spring监控7去Ad(广告)8获取Druid的监控数据1基本概念Druid是Java语言中最好的数据库连接池。虽然HikariCP的速度稍快,但是,Druid能够提供强大的监控和扩展功能,也是阿里巴巴的开源项目。Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C
- Neovim 集成 DeepSeek & Copilot 双 AI 编程神器
目前Neovim中的AI插件,比较火的就属avante.nvim和codecompanion.nvim了,经过简单的测试我选择了后者。因为avante.nvim相对来说有些复杂,依赖组件过多,侵略性较强,光readme中列出的KeyBindings就有好多。还用到了Leader键,我不是很喜欢被强制快捷键,如果与我的习惯键冲突就麻烦了,让我改我一时又不知道改成什么,心理负担较重。加上他的界面与我的
- 项目上传github步骤
虾饺爱下棋
githubgiteegit
上传到GitHub的步骤大致是这样的:1.添加文件到暂存区首先,你需要将你修改的文件添加到Git的暂存区。使用gitadd.可以将当前目录下的所有文件(包括新增文件和修改过的文件)添加到暂存区:gitadd.2.提交文件到本地仓库接下来,使用gitcommit提交你的更改。你可以为提交写一个简短的说明,描述此次提交的内容。例如:gitcommit-m"添加了新的训练模型"3.推送更改到远程仓库然后
- Java 进阶:如何让线程主动让出 CPU
begei
面试学习路线阿里巴巴java开发语言
Java进阶如何让线程主动让出CPUThreadsleepThreadyieldThreadcurrentThreadsuspendObjectwaitLockSupportparkThreadstopJava进阶:如何让线程主动让出CPUThread.sleepsleep方法可以让线程主动让出CPU,但是并不会释放锁。/***Causesthecurrentlyexecutingthreadto
- web前端--html 5---qq注册
粉0321
web前端前端html
qq注册.theme{width:300px;height:600px;margin:0pxauto;}.theme1select{padding:5px10px;border:none;border-color:#B8B8B8;box-sizing:border-box;font-size:14px;color:#B8B8B8;}.a1{color:#4b7cde;}.form-group1in
- Hadoop之jdk的安装
快来削我吖
云存储hadoopjdkcentos
【实验目的】1.安装配置JDK1.五台独立PC机或虚拟机主机之间有有效的网络连接2.每台主机内存2G以上,磁盘剩余空间500M以上所有主机上已安装CentOS7.4操作系统3.所有主机已完成网络属性配置1.卸载原有JDK该项的所有操作步骤需要使用root用户进行。并且在集群中每台主机操作一次,发现没有,不必卸载因为我的查看没有jdk,所以不需要卸载原有的,只需直接安装即可。2.安装此项的所有操作步
- DPVS_dpvs: DPVS架构图 介绍 DPVS是基于DPDK的高性能第4层负载均衡器
weixin_39878247
DPVS
DPVSIntroductionDPVSisahighperformanceLayer-4loadbalancerbasedonDPDK.It'sderivedfromLinuxLVSandit'smodificationalibaba/LVS.thenameDPVScomesfrom"DPDK-LVS".Differenttechniquesareappliedforhighperformanc
- DPVS_dpvs学习笔记: 2 启动流程
熊勒个猫
DPVS
整个工程量其实不大,截止到现在dpvs代码量只有不到2w行,相当轻量级了,和当年redis开源时体量相当。整体架构先看架构图,对外交互层controlplane比较像lvs,不会陌生。LoadBalancer模块根据lvs翻译而来,支持大家常用的几种转发模式。和lvs差别最大的地方就是,dpvs自己实现了轻量级的tcp协义栈,并且在用户层模拟了网卡,就是最下面的NetDevices层。为什么要自己
- 2020考研大纲词汇TXT版本5500
讨吃的讨吃了
考研词汇2020考研词汇
是我自己整理的,通过PHP爬虫,再加上一些程序处理,希望能够帮助到大家。另外我还有一个背单词的软件,欢迎大家访问.http://h5.mmmba.cn链接:https://pan.baidu.com/s/11FThsKjsAdK3DixmGzgHWQ提取码:xhik复制这段内容后打开百度网盘手机App,操作更方便哦
- 【3GPP】AT command 简介
ShiinaKaze
3GPPAT命令2G3G4G
ScopeATcommand用于TerminalEquipment(TE)通过TerminalAdaptor(TA)控制MobileTermination(MT)的功能和网络服务。命令前缀+C是ITU-TRecommendationV.250中为DigitalCellular保留的。这种抽象结构的多种实现:1.TA、MT与TE作为三个独立实体;2.TA集成在MT设备内部,TE作为独立实体;3.TA
- 基于Java(SpringBoot)+MySQL+Vue实现博客系统+社区
神仙别闹
课程设计javaspringbootmysql
本来是想着写一博客系统的,后来写着写着就变成了一个“四不像”——介于博客和社区之间的一个东西。start数据库名称为graduation结构:graduation_admin后台管理页面(vue)graduation_web前台页面(vue)graduation_server后台api(Java)1.graduation_admin基于vue-admin-template编写#进入项目目录cdgr
- vue3 ts admin动态tab
Tirzano
vue.jsjavascript前端
Footer.admin{margin:0;padding:0;}.auto-height{height:calc(100vh-15px);}.el-menu--horizontal>.el-menu-item:nth-child(1){margin-right:auto;}.el-menu--horizontal.el-menu{border-bottom:none;}.el-main{marg
- JavaAPI(lambda表达式、流式编程)
NGC2237999
java算法开发语言
Lambda表达式本质上就是匿名内部类的简写方式(匿名内部类见:JAVA面向对象3(抽象类、接口、内部类、枚举)-CSDN博客)该表达式只能作用于函数式接口,函数式接口就是只有一个抽象方法的接口。可以使用注解@FunctionalInterface来验证publicclassLambdaDemo01{publicstaticvoidmain(String[]args){//InterAx=(int
- HTTP代理出现400错误的原因及解决办法
当使用HTTP代理时,遇到400错误(BadRequest)通常意味着客户端发送的请求存在问题,服务器无法理解或处理该请求。以下将详细分析400错误的常见原因及其解决方法,帮助您快速排查并解决相关问题。常见原因分析原因说明错误的请求格式请求格式不符合规范,例如缺少必要的请求头或请求体。无效的请求参数请求参数不符合服务器要求,可能包含无效或不正确的数据。请求内容过大请求的内容(如POST数据)超出了
- 一分钟搭建 Vite + Cesium 开发环境
⚠2021年4月1日更新:10秒钟搭建Vite+Cesium开发环境创建目录mkdircesium-vite-testcdcesium-vite-test/创建package.jsonyarninit-y安装依赖yarnadd-Dcesiumvitevite-plugin-cesium由于Cesium不是一个普通的npm包,需要依赖一些css,图片,json啥的。我们要参考Cesium官方的web
- Qt中QRadioButton的使用
水瓶丫头站住
Qtqt开发语言
QRadioButton是Qt框架中的一个控件,用于创建单选按钮。单选按钮通常用于让用户从一组互斥的选项中选择一个选项。以下是如何在C++中使用QRadioButton的基本示例。1.包含必要的头文件首先,确保包含QRadioButton和其他必要的Qt头文件。#include#include#include#include#include2.创建主窗口类创建一个继承自QWidget的主窗口类,并
- Simulink Design Assignment
后端
UniversityofEdinburghElectricalEngineeringDataConverterDesigninSimulinkSimulinkDesignAssignmentDesignanaudiobandADCwiththefollowingspecificationsover20Hz-20kHz:[1]Maximumstableinputamplitude(MSA)atlea
- docker安装Open WebUI详解-遇到的坑OSError: We couldn‘t connect to ‘https://huggingface.co‘ to load this file
坚定信念,勇往无前
AIdocker容器运维
一、OpenWebUI简介OpenWebUI(https://openwebui.com)是一个用户友好的Web界面,专为本地大语言模型(LLMs)设计。它支持多种模型,包括Ollama和OpenAI兼容的API,并允许用户通过图形界面轻松调试和调用模型。OpenWebUI的功能丰富,包括代码高亮、数学公式支持、网页浏览、预设提示词、本地RAG集成、对话标记、模型下载、聊天记录查看以及语音支持等。
- 【爬虫】request库
Reese_Cool
爬虫爬虫python
文章目录发送请求响应对象响应数据的方式中文乱码问题响应对象的其他属性或方法发送带参数的请求headers和查询参数Requests——发送http请求,获取响应数据首先,请确保:已安装RequestsRequests是最新的让我们从一些简单的示例开始。发送请求使用Requests发出请求非常简单。需求:通过requests想百度首页发送请求,获取该页面的源码运行下面的代码,观察打印出的结果#首先导
- STM32的HAL库开发---多通道ADC采集(DMA读取)实验
猿~~~
STM32stm32嵌入式硬件单片机
一、实验介绍1、功能描述通过DMA读取数据通过ADC1通道0/1/2/3/4/5(PA0/1/2/3/4/5)采集测试电压,并显示ADC转换的数字量及换算后的电压值2、确定最小刻度VREF+=3.3V--->0V≤VIN≤3.3V--->最小刻度=3.3/4096,F1的分辨率是12位的,也就是把3.3V分为4096份。F4/F7/H7还可以自己配置分辨率,例如H7可以把分辨率配置为16位的,也就
- ROS2安装教程(virtualbox7.0.6+ROS2)
setella
c++ubuntu
整个过程分两步:先安装Virtualbox,再安装ROS2一、安装virtualbox7.0.6网址:https://www.virtualbox.org/wiki/Downloads问题1安装时报错:缺少pythoncore、win32api依赖(下图网上拷贝的图,版本忽略)解决:根据virtualbox论坛的帖子,有人说不使用python控制virtualbox的话,可以先不安装,去掉pyth
- 解决com.kingbase8.util.KSQLException: This _connection has been closed.
mister-big
javajava
问题描述一个消息管理系统,系统采用kingbase8数据库,数据库采用单体模式,后台应用也采用springboot单体模式。系统正式上线后,出现几个JDBC响应的异常信息:com.kingbase8.util.KSQLException:AnI/Oerroroccurredwhilesendingtothebackend.java.net.SocketTimeoutException:Readti
- unity引擎中的渲染实现细节
你一身傲骨怎能输
商业化游戏开发技术专栏unity游戏引擎
在Unity引擎中,渲染实现细节涉及多个层面,包括但不限于材质处理、光照计算、阴影渲染、后处理效果等。下面我将提供一个简化的示例,模拟Unity中的一个基本的渲染流程,特别是在处理光照和材质方面的代码实现。这个示例将使用C#语言,因为Unity主要使用C#进行开发。示例:基础光照和材质渲染在Unity中,渲染通常是通过Shader和C#脚本来控制的。以下是一个简化的Shader和C#脚本,用于实现
- Destroy Component只能销毁自己所在actor
mmmmmdywe
#生命周期c++ue5
DestroyComponent只能销毁自己所在actor1我在使用Spline制作抛物线时,发现当我要销毁spline上的SplineMeshComponent时,销毁不了。后修改AddSplinemeshComponent的Target为Self时,就可以销毁了。我就奇怪,去看看这个节点的注释:不能销毁被一个Actor拥有的Component,除非这个Actor正在调用这个节点。这下明白了,这
- Linux系统中的负载均衡
嵌入式胖哥
linux运维服务器
在当今互联网时代,人们对计算机系统的性能和可靠性要求越来越高。为了实现系统的高效运行和充分利用服务器资源,负载均衡技术应运而生。负载均衡(LoadBalancing)是一种将系统的负载均匀地分配给多个服务器或设备的技术,以提高系统的性能、可靠性和稳定性。在Linux系统中,负载均衡技术得到了广泛的应用和发展,本文将深入探讨Linux系统中的负载均衡原理、应用场景和常见实现方法。一、负载均衡的原理和
- 【PostgreSQL】入门篇——在不同操作系统上安装 PostgreSQL
m0_74825526
postgresql数据库
PostgreSQL在Windows、macOS和Linux(以Ubuntu为例)的安装步骤,以及可能出现的问题和解决办法。一、在Windows上安装PostgreSQL1.下载PostgreSQL安装程序访问PostgreSQL官方网站:PostgreSQLDownloads点击“Downloadtheinstaller”链接,下载适合您系统的安装程序(通常是.exe文件)。2.运行安装程序双击
- STM32 HAL库DMA采集单片机内部温度
晚起的虫子被鸟吃
单片机stm32嵌入式硬件
实现平台:STM32F103C8T6开发软件:STM32CubeMX+keil开发流程STM32CubeMX配置温度采集通道cubemx生成keil代码后用keil打开;在ADC初始化完成后进行自校准,函数HAL_ADCEx_Calibration_Start(&hadc1);ADC自校准后开启ADC的DMA采集:HAL_ADC_Start_DMA(&hadc1,(uint32_t*)adc_va
- w803|联盛德|WM IoT SDK2.X测试|window11|手动编译|(3):编译环境搭建
打酱油的工程师
W80X物联网单片机w80x
根据官方文档快速入门,计划在Windows系统下,安装厂家提供的一键安装的编译环境集成包,下载地址:WMIoTSDKDownloadCenter名称大小修改日期wm_iot_sdk_v2.2-beta.2.zip102MB2025/2/2214:56:07winnermicro_cli_compile_suite_setup_v1.3.1.exe111MB2025/2/2214:20:30安装根目
- DVWA 靶场(含代码审计)
AaWeiAa
网络安全xsssqlcsrffileinclusionfileupload安全系统安全
DVWA靶场的通关刚建立和使用输入http://dvwa:8898/setup.php//进入用户名密码dvwa你自己设计的想要进入数据库点击creat用户名密码adminpasswordAttacktypeSniper模式在Sniper模式下,Payload字典用于逐个替换请求中标记的位置。例如,如果一个表单需要用户名和密码,Sniper会依次尝试不同的用户名和密码组合,直到找到有效的登录凭证或
- 嵌入式硬件篇---常用的汇编语言指令
Ronin-Lotus
嵌入式硬件篇程序代码篇嵌入式硬件c职场和发展单片机汇编语言
文章目录前言汇编语言简介1.数据传送指令MOVPUSHPOPXCHG2.算术运算指令ADDSUBMULDIVINCDEC3.逻辑运算指令ANDORXORNOTSHL/SHR4.控制转移指令JMPCALLRETJE/JZJNE/JNZJG/JNLEJL/JNGE5.比较与测试指令CMPTEST6.标志寄存器操作指令STCCLCSTDCLD7.字符串操作指令MOVSLODSSTOSBREP8.输入输出
- 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