- Flutter 开发环境搭建教程
乌龙玛奇朵519
flutter
配置Flutter开发环境主要包括安装FlutterSDK、设置IDE(如AndroidStudio或VisualStudioCode)、配置Android模拟器等。以下是详细的步骤:1.系统要求确保你的系统满足Flutter的最低要求:Windows、macOS或Linux操作系统。Git版本控制工具。2.安装FlutterSDKWindows下载FlutterSDK访问Flutter官网。下载
- MySQL 主备同步设置
sszdzq海怪
mysql数据库后端
描述数据库主备同步,将mysqlA中的数据同步mysqlB中,mysqlA作为主库,mysqlB作为备库准备1.两个数据库mysqlA,mysqlB要同步的库为test数据库信息库名IP地址端口同步用户名同步密码mysqlA127.0.0.13306replicreplicmysqB127.0.0.13307(模拟两个库,我们在同一台电脑上装了2个mysql端口分别为3306,3307)2.创建同
- Excel生成Sql工具.java
JokerPan12
javaexcelsql
今天分享一个使用excel表格一键生成建表语句sql工具1.前置所需依赖cn.hutoolhutool-all5.1.0org.apache.poipoi-ooxml4.1.2org.projectlomboklombokprovided2.新建Excel文件并设计表结构ps:字段属性值0为非空1为主键3.新建工具类packagecom.ruoyi.generator.util;importcn.
- 【Flutter】基础入门:开发环境搭建
T0uken
Flutter开发flutter
Flutter是一个强大的跨平台框架,支持在Android、iOS、Windows、Linux、Web等多种平台上开发应用。下面将详细介绍如何在各个平台上构建Flutter开发环境,并使用相同的项目代码构建出一个可以在多个平台运行的跨平台Demo。Flutter环境配置:Windows、Linux、Android、iOS、Web通用步骤:安装FlutterSDK在不同的操作系统上,首先需要安装Fl
- 用python编写poc的流程
w2361734601
python开发语言
目录一、POC编写核心流程二、常用Python库与工具三、POC框架推荐四、高级优化技巧五、安全规范与注意事项六、实战案例:命令注入漏洞验证一、POC编写核心流程漏洞分析确定漏洞类型:根据目标特征判断漏洞类型(如SQL注入、命令注入、文件上传等)。触发条件验证:通过手动测试(如BurpSuite抓包)确认漏洞触发点,例如构造|whoami参数触发命令注入。脚本设计选择验证逻辑:响应特征检测:通过状
- 【Linux】无法更新chrome的解决办法,下载更新chrome浏览器
Mister Zhu
Linuxchrome前端javascript
每次打开chrome浏览器都会出现下面这种提示:中文版:但是又访问不了chrome官网https://www.google.com/chrome,也就下载不了最新chrome浏览器。解决办法:访问这个网址即可下载:https://www.google.cn/chrome/其实就是把.com改为了.cn。下载完成后,再使用sudodpkg-ixxx.deb即可安装成功,以后就不会再有提示更新chro
- Linux设备驱动程序第八章——分配内存
感觉画质不如…原神
Linux驱动linuxlinux驱动linux内核开发
kmalloc函数内幕kmalloc是一个分配内存的函数,功能类似于malloc。其函数原型如下:/***kmalloc-allocatememory*@size:howmanybytesofmemoryarerequired.*@flags:thetypeofmemorytoallocate.**kmallocisthenormalmethodofallocatingmemory*forobje
- Linux设备驱动程序第九章——与硬件通信
感觉画质不如…原神
Linux驱动linuxLinux驱动设备IO
IO端口和IO内存几乎每种外设都通过读写寄存器来对它进行控制。大部分外设都有几个寄存器,无论是在内存地址空间还是在IO地址空间,这些寄存器的访问地址都是连续的。Linux在所有的计算机平台上都实现了IO端口。一般ISA设备通常使用IO端口,而大多数PCI设备则把寄存器映射到谋个内存地址区段。这种IO内存的方式才是首选的方案,因为不需要特殊的处理器指令;而且CPU访问内存更有效率,同时在访问内存的时
- QEMU 模拟 ARM 环境
MAYBETTY
QEMUarm开发
环境及工具准备环境:centos.8.4内核:linux-5.10.0交叉编译器:gcc-linaro-7.5.0-2019.2-x86_64_arm-linux-gnueabi根文件系统:busybox-1.31.1QEMU:qemu-7.0.0一、交叉编译工具安装安装:tar-xjvfgcc-linaro-7.5.0-2019.2-x86_64_arm-linux-gnueabi.tar.gz
- Linux 部署 rocketmq centos7
A初夏1
rocketmq
mq部署方案1、rocketmq顺序消费记录一个master,一个brocker,多个group,多个topic,采用集群消费模式。注意一个group对应一个topic。生产者和消费者可以有多个,但是主题和分组都是一对一的。这样保证了消息在集群模式下的顺序存储和消费。Linux部署rocketmqcentos7参考资料:https://blog.csdn.net/YuanFudao/article
- python程序语音控制摄像头打开
X-yes
python开发语言
在电脑的“开始”口输入Anconda,进入powershell,已经配置好的环境(base)中,然后输入:condaactivatetest,进入到test环境中,在D盘里复制执行python文件的路径,输入cd+路径,进入后输入:pythonmain.py,即可实现打开设备。在运行后可能会出现错误,不用担心,只是因为包不完整而已,一条一条的执行以下命令。pipinstallSpeechRecog
- Python元类完全指南:深入理解类的创造者
七十二计
python开发语言
Python元类完全指南:深入理解类的创造者一、类型系统的革命:从对象到元类1.1Python面向对象编程的基石在Python的面向对象体系中,一切皆对象的概念贯穿始终。但当我们深入探究这个论断时,会发现一个令人震惊的事实:类本身也是对象。这个发现将带领我们进入元编程的神秘领域。classSimpleClass:passinstance=SimpleClass()print(type(instan
- Python协程从入门到实践:深度解析与案例实战
七十二计
python数据库开发语言
Python协程从入门到实践:深度解析与案例实战一、同步编程的瓶颈与异步编程革命1.1传统同步模式的困境在Python的同步编程模型中,代码按照严格的顺序执行,当遇到I/O操作(如网络请求、文件读写、数据库查询)时,整个程序会陷入阻塞状态。这种阻塞会导致CPU资源的巨大浪费,特别是在处理高并发场景时,程序的吞吐量会急剧下降。importtimedefsync_task(n):print(f"任务{
- 【开源】瓦AI自瞄全套上市源码 - 含完整编译教程
6v6-博客
人工智能
项目简介瓦AI智能系统是完整的AI解决方案源码,主要功能包括:自然语言处理(NLP)计算机视觉(CV)语音识别(ASR)知识图谱构建核心功能技术架构前端:Vue3+TypeScript后端:Python3.10+FastAPIAI框架:PyTorch2.0数据库:PostgreSQL+Redis代码结构core/├──nlp/├──cv/web/api/docs/使用说明环境准备:sudoapti
- Python 爬虫深度解析:独立艺术家作品及展览信息抓取
西攻城狮北
python爬虫开发语言
一、引言在当今数字化时代,独立艺术家的作品和展览信息往往散落在各个艺术网站、社交媒体平台以及艺术论坛上。对于艺术爱好者、收藏家以及艺术研究者来说,及时、全面地获取这些信息具有重要意义。然而,手动搜索和整理这些信息不仅耗时费力,而且容易遗漏关键内容。因此,利用Python爬虫技术自动抓取和整理独立艺术家的作品及展览信息,成为了提高效率和获取全面艺术资讯的有效手段。本文将深入讲解如何使用Python爬
- Micropython RP2040 驱动MG90S
zkl389
单片机嵌入式硬件
MG90S是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其驱动原理如下:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号(为舵机转动时的中间位置),将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速
- Flink 之 TopN 以及窗口TopN
Luckyforever%-
Flinkflink大数据sqlhive数据挖掘云计算
一、概念在Flink中,TopN计算是指从数据流中选取前N个元素,通常根据某个指标进行排序。TopN计算可以在全局范围内进行,也可以在窗口内进行。窗口TopN计算是指在特定的时间窗口或计数窗口内进行TopN计算。这些操作在实时数据分析、监控和推荐系统中非常常见。二、案例2.1topN魔法部在英国各地追踪巫师施展的每一个法术,并想知道每个巫师最喜欢的两个法术。FlinkSQL可用于计算连续聚合值,因
- V4L2&&Gstreamer媒体控制工具(五)
Android系统攻城狮
Camera系统实战系列媒体linux网络
简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】人生格言:
- Python使用阿里镜像
xiaowen5555555
python开发语言linux
获取包的版本号piplist使用阿里云镜像临时使用pipinstall包名-ihttps://mirrors.aliyun.com/pypi/simple/以后都使用阿里云的源pipconfigsetglobal.index-urlhttps://mirrors.aliyun.com/pypi/simple/
- Python国内镜像源下载地址
何足介怀`
pythonpython开发语言
使用pip或者conda安装包的时候,会直接指向Python官网,下载速度会很慢,使用如下几个国内的镜像源网址来提升安装第三方库的速度是不错的选择。清华大学镜像源(速度快,完整性强)https://pypi.tuna.tsinghua.edu.cn/simple2.阿里云镜像源https://mirrors.aliyun.com/pypi/simple/华为云(完全度和速度均中等)https://
- Python设置阿里云镜像源教程:解决PIP安装依赖包下载速度慢的问题
mosquito_lover1
python阿里云pip
在Python中,你可以通过修改pip的配置文件来设置阿里云镜像源,以加速包的安装。以下是具体步骤:1.临时使用阿里云镜像源你可以在使用pip安装包时,通过-i参数临时指定阿里云镜像源:pipinstall-ihttps://mirrors.aliyun.com/pypi/simple/例如,安装requests包:pipinstallrequests-ihttps://mirrors.aliyu
- llama-本地推理大模型多模型同时运行
未来之窗软件服务
llama大模型
单模型llama-server.exe-m"G:\AI-AI\LLM\stablediffusionv2.gguf"--port8081多模型llama-server.exe--config_file{"host":"0.0.0.0","port":8080,"models":[{"model":"models/OpenHermes-2.5-Mistral-7B-GGUF/openhermes-2
- sql server数据迁移,springboot搭建开发环境遇到的问题及解决方案
夏之小星星
springboot后端java
最近搭建springboot项目开发环境,数据库连的是sqlserver,遇到许多问题在此记录一下。1、sqlserver安装教程参考:https://www.bilibili.com/opus/9447362106249707692、sqlserver导出、导入数据库参考:https://blog.csdn.net/noriyyds/article/details/1308140643、用Win
- python爬虫之爬取bing网页图片
纯小白菜鸟
pythonpython爬虫
frombs4importBeautifulSoup:导入BeautifulSoup库,用于解析HTML和XML文档。headers={...}:定义了一个请求头,它包含了一个User-Agent字符串,这个字符串告诉网站我们的请求是从哪种浏览器发出的。这有助于模拟真实的浏览器行为,有些网站可能会拒绝没有User-Agent的请求。sousuo=input('主人要看什么图片~:'):从用户那里获
- 微服务集成测试 -华为OD机试真题(A卷、Python)
什码情况
华为od机试算法数据结构python
题目描述现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次,服务自身启动加载会消耗一些时间。给你一个n×n的二维矩阵useTime,其中useTime[i][i]=10表示服务i自身启动加载需要消耗10s,useTime[i][j]=1表示服务i启动依赖服务j启动完成,useTime[i][k]=0表示服务i启动不依赖服务k。其中0<=i,j,k
- linux配置IP、子网掩码、网关
悄悄打坐修个仙
Linuxlinux
linux虚拟机配置IP、子网掩码、网关本方法适用于Ubuntu18.04之后的版本。例1:配置信息:IP:10.100.100.23子网掩码:255.255.255.240网关:10.100.100.561、打开网络配置文件01-network-manager-all.yamlsudovi/etc/netplan/01-network-manager-all.yaml2、编辑网络配置文件01-n
- 针对单台浪潮服务器运行Windows Server 2019和SQL Server的MES系统场景,低成本、高效能监控策略(兼顾软硬件健康)
悲伤の李某
数据库服务器
一、监控架构设计原则轻量化:优先使用Windows原生工具和免费方案,避免额外资源消耗关键性聚焦:仅监控直接影响MES运行的核心指标自动化告警:异常发生时主动触发通知,无需人工巡检容灾预备:单服务器场景需强化备份与快速恢复能力二、硬件健康监控(浪潮服务器)1.硬件状态监控工具:浪潮服务器iBMC远程管理(Web界面或IPMI命令行)关键指标:磁盘SMART状态(重点关注ReallocatedSec
- Linux:环境变量
繁华的梦境
Linuxlinuxbash1024程序员节c++
基本概念环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数。环境变量通常具有某些特殊用途,通常具有全局特性,可以被子进程继承下去常见的环境变量PATH:指定命令的搜索路径HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)SHELL:当前Shell,它的值通常是/bin/bash。环境变量的相关命令echo:显示某个环境变量值export:设置一个新的环境变量e
- JDBC连接SQLserver
胖胖p
sqlserver数据库databaseeclipse
/***添加学生的JDBC*@authorT283**/publicclassAddStu_JDBC{publicstaticvoidmain(String[]args)throwsException{//1、注册驱动类Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//2、连接数据库:字符串写错会报错-对象无效Conne
- 安装Windows/Ubuntu双系统找不到磁盘分区解决办法
DemonHunter211
服务器
电脑换了一块大一点的固态,准备装双系统,发现安装Linux时识别不了系统硬盘,现将场景以及解决办法记录如下。安装环境介绍:*Windows10*Ubuntu18.04LTS*DellXPS13,UEFI启动安装步骤:先安装好Windows后,用UltraISO制作Ubuntu启动镜像。在BIOS中关闭电脑的安全启动选项,并且在Windows电源选项中中将快速启动关闭。通过更改启动选项,可以正常使用
- 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