- Redis持久化 - AOF
DxJavascript
redisbootstrap数据库
Redis是一款高性能的内存数据库,但由于其数据存储在内存中,断电或异常情况下可能会导致数据丢失。为了解决这个问题,Redis提供了持久化机制,其中AOF(Append-OnlyFile)是一种常用的持久化方式。本文将详细介绍Redis的AOF持久化机制,并提供相应的源代码示例。AOF持久化机制是将Redis的写命令以追加的方式写入到一个文件中,这样即使Redis重启,也可以通过重新执行AOF文件
- 小程序 实现手写签名功能
小星落
小程序javascriptjscanvas小程序
小程序利用canvas实现手写签名设置小程序横屏在page.json或对应页面.json文件中设置landscape代表固定横屏"pageOrientation":"landscape"手写签名创建canvas画布设置监听触摸开始移动结束等时间此处为uniapp示例原生小程序的也可参考进行修改(只需将@touchmove等事件换为bindtouchmove等微信事件即可)重签完成签名page{ba
- 【华为机试】HJ4 字符串分隔
椰椰荔枝糖
华为机试【牛客网】华为java开发语言
str.substring(0,8)//截取str中从startIndex开始至endIndex结束时的字符串,并将其赋值给str;str=str.substring(8)//截取掉str从首字母起长度为startIndex的字符串,将剩余字符串赋值给str;importjava.util.Scanner;//注意类名必须为Main,不要有任何packagexxx信息publicclassMain
- 【华为机试】HJ3 明明的随机数
椰椰荔枝糖
华为机试【牛客网】华为java开发语言
importjava.util.Scanner;importjava.util.List;importjava.util.ArrayList;importjava.util.Collections;//注意类名必须为Main,不要有任何packagexxx信息publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanne
- element-plus按需引入报错IconsResolver is not a function
Beamon__
前端
官网文档:element-plus-best-practices/vite.config.tsatdb2dfc983ccda5570033a0ac608a1bd9d9a7f658·sxzz/element-plus-best-practices·GitHubElementPlusBestPractices最佳实践.Contributetosxzz/element-plus-best-practic
- vue项目提示 WebSocketClient.js:49 WebSocket connection to ‘ws://xxxx/ws‘ failed: Invalid frame header
Beamon__
vuevue.js前端
项目信息vue-cli创建的vue3+webpack5项目;问题现状配置proxy代理后,控制台报错,不影响使用,但是不美观,并且不利于在控制台调试代码;原因定位代理问题,新配置的接口代理,影响到了项目内置的本地服务代理配置,参考Websocketconnectionfailed,Invalidframeheader·Issue#1850·vuejs/vue-cli·GitHub解决方案方案一一刀
- torch-torchvision-python版本对应问题
Thirtyaoe
python深度学习pytorch
module‘torch.onnx.symbolic_helper’hasnoattribute‘quantized_args’今日在联系pytorch时,importtorchvision时报错:module‘torch.onnx.symbolic_helper’hasnoattribute‘quantized_args’查阅后发现是版本不兼容的问题,于是查看了正确的对应版本,对自己的进行修改。
- Elasticstack-日志分析平台
尼古拉斯-邓
linuxkafkacentos
#ElasticStack-日志分析平台##1.Filebeat```shellvim/etc/hostsip1dijiaip2meimeiip3biaobei```###Filebeat安装```shellcurl-L-Ohttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.13.2-linux-x86_64.tar.g
- torchvision与torch的版本冲突
RanGriffin
pythonpytorch
在importtorchvision时报错:UserWarning:FailedtoloadimagePythonextension:[WinError127]解决在晚上查询之后,问题在于自己的torchvision版本与torch版本不对应。首先查询自己的torch和torchvision版本importtorchprint(torch.__version__)importtorchvision
- 警告 torch.nn.utils.weight_norm is deprecate 的参考解决方法
wongHome
深度学习相关调试问题Ubuntupytorch
文章目录写在前面一、问题描述二、解决方法参考链接写在前面自己的测试环境:Ubuntu20.04一、问题描述运行pytorch程序,如下如下警告/home/wong/ProgramFiles/anaconda3/envs/pytorch_env/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:30:UserWarning:torch
- Cisco ACI Simulator 6.0(9c)M - ACI 模拟器
cisco
CiscoACISimulator6.0(9c)M-ACI模拟器ApplicationCentricInfrastructure(ACI)SimulatorSoftware请访问原文链接:https://sysin.org/blog/cisco-acisim-6/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgACISimulator介绍思科以应用为中心的基础设施(ACI)被概念
- 【项目实战】前后端分离实现通用上传接口到不同存储桶
本本本添哥
001-基础开发能力javaservlet前端
一、定义通用上传接口通过上传接口(UploadFileController.java)上传文件/***上传文件*@parammulFile*@paramdir文件存放目录*@paramfileType文件类型image:图片*@return*/@ApiOperation(value="上传文件")@PostMapping("/upload")public
- CNBr活化琼脂糖凝胶4B,CNBr-Activated Sepharose 4B
陕西星贝爱科
CNBr活化琼脂糖凝胶4B
CNBr活化琼脂糖凝胶4B是一种用于固定含伯胺配基的预活化填料,以下是其详细介绍:基本信息中文名称:溴化氰活化琼脂糖凝胶4B英文名称:CNBr-ActivatedSepharose4B外观:白色浆状物,放置可分层/白色粉末状固体基架:4%琼脂糖颗粒大小:45~165μm偶联官能团:伯氨基储存条件:2~8℃,100%丙酮特点反应条件温和:与蛋白等生物大分子的反应条件温和,可直接偶联生物大分子,不需偶
- 矩阵的转置
不忘不弃
矩阵算法线性代数
对于的矩阵,使用两个指针变量,可以方便实现(i,j)处元素与(j,i)处元素交换位置。令指针Arow=&A[i][0],则Arow[j]可实现对第i行j列元素的访问。令指针Bptr=&A[0][i],则*Bptr就可以访问(0,i)处元素,然后,令Bptr+=M,就可访问同列不同行的元素。代码实现#defineM3intA[3][3]={{1,2,3},{4,5,6},{7,8,9}};voidt
- 文件包含漏洞和文件下载漏洞
杨学喜 041740424
安全web安全
什么是文件包含?简单来说,文件包含就是将指定的文件当代码执行,黑客通过执行文件里的恶意代码来获取服务器的信息文件包含有本地包含与远程包含本地包含:执行的文件就在被攻击的服务器上远程包含:执行的文件在黑客自己的服务器上本地包含无限制1新建一个1.php文件,里面有文件包含漏洞?php$filename=$_GET['filename'];include($filename);?>2新建一个1.txt
- 构建多序列比对的删除矩阵Deletion Matrix
qq_27390023
生物信息学pytorch深度学习人工智能
从多序列比对(MultipleSequenceAlignment,MSA)数据中构建删除矩阵(DeletionMatrix)是蛋白质结构预测中的一个重要步骤。删除矩阵记录了每个位置相对于参考序列的缺失(deletion)信息,这些信息对于理解蛋白质的进化关系和结构变化非常关键。以下是从A3M格式文件的MSA序列数据中构建删除矩阵的核心代码和示例解析。1.A3M格式文件(.a3m):每个序列都以>开
- 三个简单最短路
L_M_TY
算法最短路DijkstraFloyd
题目一:E-Train题目链接:E-Train给定N个编号为1至N的城市以及M条铁路。第i条铁路连接城市Ai和Bi,每当时间为Ki的倍数时会同时、分别从Ai和Bi发出开往对方的列车,列车从出发至到达花费Ti时间。开始时你在城市X,输出你到达城市Y的最早时间。若无法到达,输出-1。忽略转车所需要的时间。即,当你T时刻到达某个城市时,可以立刻乘坐T时刻从这个城市发出的列车。数据输入范围:2≤N≤105
- 【Docker compose】基于宿主机的Neo4j自动备份
roman_日积跬步-终至千里
neo4jDockerdockerneo4j容器
文章目录1、开启自动备份2、恢复1、开启自动备份在宿主机执行:bash#{lakehouse_home}/neo4j_cron.sh自动备份开启如下日志:FriMar701:59:53UTC2025-Checkingifcronjobalreadyexists.FriMar701:59:53UTC2025-Addingnewcronjob.FriMar701:59:53UTC2025-Cronjo
- MobileMamba(2024 CV)
刘若里
论文阅读学习笔记网络计算机视觉人工智能
论文标题MobileMamba:LightweightMulti-ReceptiveVisualMambaNetwork论文作者HaoyangHe,JiangningZhang,YuxuanCai,HongxuChen,XiaobinHu,ZhenyeGan,YabiaoWang,ChengjieWang,YunshengWu,LeiXie发表日期2024年11月01日GB引用>HaoyangHe
- 通过Python使用json库写一个更新josn文件中某个字段中数组数据的函数
焦虑肇事者
json
你可以使用Python中的json库来读取json文件,然后使用Python字典的方式来更新json文件中的某个字段。最后,使用json库的写入功能将更新后的字典写回json文件。例如,你可以使用以下代码来实现这个功能:importjsondefupdate_json_array(json_file,field,new_data):#读取json文件withopen(json_file,'r')a
- 芯谷78M05:三端正电压调节器的稳定之选
青牛科技实业01
芯谷单片机嵌入式硬件散热风扇智能家居科技音频限幅便携式音频
在电子电路设计中,稳定的电源供应是确保系统正常运行的关键因素之一。78M05作为一款经典的三端正电压调节器,以其简单、可靠和高效的特性,成为了众多工程师在5V电源设计中的首选。本文将深入探讨芯谷78M05的特性、电气参数、典型应用电路以及使用注意事项,帮助读者全面了解这一经典芯片。一、产品概述芯谷78M05是一款三端正电压调节器,属于78MXX系列固定电压调节器集成电路的一员。该芯片能够提供稳定的
- Autoleaders控制组——51单片机学习笔记(2)
Autoleaders控制组 邓翔
51单片机学习笔记
51单片机学习(2)1.模块化编程1.1模块化编程的意义在学习单片机的途中,随着我们的知识不断扩展,我们能写出的代码也越来越复杂,越来越长了,有时我们自己写出的很长的代码,出现了错误,需要调试,但奈何自己的代码实在是太长了,真的不好分析到底是哪里出错了。这是因为我们将太多的函数和代码放在一个main.c的文件里,导致代码过度堆积。如果我们能够条理清晰地去将不同作用的代码和函数放在不同的xxx.c文
- nginx中间件部署
cxy_6
nginx中间件运维
普通权限账户安装NGINX中间件1、拥有高级权限的账户安装必要的插件sudoyuminstall-ygcc-c++makepcrepcre-develzlibzlib-developensslopenssl-devel2、普通账户进行NGINX的脚本式安装vinginx_intall.sh#!/bin/bashTAR_NAME="$1"TAR_NAME_DIR=`basenamenginx-1.2
- Linux书签上下移动
海天鹰
Qtqt
步骤读书签文件,分割到QStringList,点击右键菜单获取序号,交换序号,写书签文件。QStringList.swap(int,int)过时,QStringList.swapItemsAt(int,int)代替。书签文件路径mainwindow.hconstQStringfilepath_bookmark=QStandardPaths::writableLocation(QStandardPa
- LFI 临时文件RCE总结
dwm2
基础漏洞总结php
PHPLFI即本地文件包含漏洞,通过包含本地服务器上存储的一些文件,例如session文件、日志文件、临时文件等达到拿服务器权限的目的。比较常用的方法有:PHPINFO()和PHP7SegmentFault。他们的基本原理都是向服务器上传生成恶意的临时文件,再对恶意文件进行包含即可RCE。临时文件文件名由于临时文件名是由随机函数生成的,我们需要获取正确的文件名,也就是$_FILES['userfi
- 华为OD机试 - 磁盘容量排序 - 双指针(Python/JS/C/C++ 2023 B卷 100分)
哪 吒
华为odpythonjavascript
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述磁盘的容量单位常用的有M,G,T这三个等级,它们之间的换算关系为
- 华为OD机试 - 开心消消乐 - 并查集(Python/JS/C/C++ 2024 B卷 100分)
哪 吒
华为odpythonjavascript
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。矩
- 华为OD机试 - 矩阵元素的边界值(Python/JS/C/C++ 2023 B卷 100分)
哪 吒
华为od矩阵python
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述给定一个N*M矩阵,请先找出M个该矩阵中每列元素的最大值,然后输
- 华为OD机试 - 运输时间(Python/JS/C/C++ 2024 C卷 100分)
哪 吒
华为odpythonjavascript
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述M辆车需要在一条不能超车的单行道到达终点,起点到终点的距离为N。
- cv2.imshow报错
残影飞雪
Pythonpython
pipinstallopencv-contrib-pythoncv2.error:OpenCV(4.1.0)C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:627:error:(-2:Unspecifiederror)Thefunctionisnotimplemented.RebuildthelibrarywithWi
- 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