- 推荐开源项目:Luci-App-BandwidthD —— 网络流量监控利器
毕艾琳
推荐开源项目:Luci-App-BandwidthD——网络流量监控利器项目简介是一个基于OpenWrt的网络流量监测应用程序,它集成了BandwidthD功能,允许用户实时监控和可视化他们的网络带宽使用情况。对于家庭网络管理,小型办公室或SOHO环境来说,这是一个非常实用的工具。技术分析1.BandwidthD与LuCI集成项目的核心是BandwidthD,这是一款老牌的网络流量检测软件,通过监
- 光猫和路由器配置VLAN看IPTV
王某某的笔记
路由器型号小米R2D路由器端口wan口编号:4lan口编号:023CPU端口:5参考资料https://openwrt.org/zh-cn/doc/uci/networkhttps://openwrt.org/docs/guide-user/network/vlan/switchhttps://openwrt.org/zh/docs/guide-user/network/vlan/switch_c
- openwrt 原版系统个人优化
Kasen's experience
NAS_OpenWrtopenwrt
更换主题更换Argon主题opkgupdateopkginstallluci-compatopkginstallluci-lib-ipkgmkdir-p/tmp/okibcncd/tmp/okibcnURL=$(wget-qhttps://api.github.com/repos/jerrykuku/luci-theme-argon/releases/latest-O-|awk-F\"-vRS="
- 【openwrt-21.02】T750 openwrt-21.02 应用层监听单个event gpio-keys事件代码实现
wellnw
功能实现及问题处理linux
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- [openwrt-21.02]openwrt更新及安装luci feeds
wellnw
Openwrtopenwrt
updateluci./scripts/feedsupdateluciopenwrt#./scripts/feedsupdateluciUpdatingfeed'luci'from'https://git.openwrt.org/project/luci.git^0ecaf74'...Cloninginto'./feeds/luci'...remote:Enumeratingobjects:362
- openwrt 21.02 开启ntfs-3g自动挂载2T以上移动硬盘
FoxMale007
未整理随笔openwrtntfs-3gU盘移动硬盘NAS
初始状态:openwrt21.02原始版本需求:需要自动挂载移动硬盘,作为简单NAS使用遇到问题:1)按照网上教程mount命令不识别uuid参数,发现少安装了一个包:mount-utils2)不想用最新的ntfs工具,使用旧的ntfs-3g兼容性更好,而且挂载2T以上移动硬盘必须使用ntfs-3g。但是问题是,开启了使用UUID挂载点后,死活挂载不上。最后发现是最新openwrt源码里有个BUG
- OpenWrt 编译步骤与命令详解教程
zhouwu_linux
智能路由器
前言编译OpenWrt的过程就像是复读机,除了选择系统组件外,几乎每次编译都是复制粘贴相同的命令。而理解每一条命令的作用、什么时候该去执行,这样才能更好的去解决编译中遇到的问题,更顺利的编译出固件。首次编译克隆OpenWrt源码gitclonehttps://github.com/coolsnowwolf/ledeopenwrtgitclone--branchopenwrt-21.02https:
- OpenWrt系统常见的编译错误,你一定遇到过
zhouwu_linux
智能路由器
OpenWrt是一个开源的嵌入式操作系统,随着支持刷机的路由器越来越多,我们经常会自己编译对应固件,用于加入自己想要的功能,在编译过程中或多或少会遇到一些编译错误,如果你是新手,遇到这些问题可能有些不知所措。为了让更多人学会编译OpenWrt固件,这里将常见的编译错误进行一个总结,并给出解决方案。OpenWrt系统的编译总的来说是非常容易的,只要基本的Linux命令操作即可,所以并不需要开发基础。
- 【openwrt-21.02】T750+MT7916 WiFi驱动iwpriv指令结构体及dat文件读取函数
wellnw
WiFiDriverWiFi
MT7916MT7916是一款先进的Wi-Fi6/6E无线网卡(NIC)解决方案,具备双频双发功能,网络速率可达3Gbps。MT7916同时支持3x3与2个空间串流(用于5/6GHz频段,带宽可达160MHz),以及2x2与2个空间串流(用于2.4GHz频段,带宽可达40MHz)。MT7916额外的第三根天线可用于零等待动态频率选择(DFS)和/或最大比合并(MRC),最高支持1024-QAM调制
- OpenWrt开发(6)-- 新增产品设备编译选项
chdwjzd
mtk路由器网关开发OpenWrt开发linuxopenwrtmtk
本文基于OpenWrt21.02版本和MT7621平台介绍如何新增一个产品设备来进行编译,在旧版的OpenWrt(例如:MT7628的官方SDK)中则有所不同,仅供参考。建立dts文件在OpenWrt代码库下的target/linux/ramips/dts/新建一个mt7621_mint_router2_spi.dts文件,其他的硬件平台则需要选择其他平台路径下的dts文件夹,例如:target/
- 【openwrt-21.02】openwrt-21.02 T750 按键GPIO自动进入刷机模式功能实现
wellnw
功能实现及问题处理openwrt
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- 【openwrt-21.02】openwrt-21.02 T750 switch划分VLAN之后WAN口MAC地址和br-lan相同问题分析及解决方案
wellnw
功能实现及问题处理Openwrtopenwrt
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- openwrt 使用自定义 DNS
零K沁雪
各种教程openwrtdns服务器
记录一下在openwrt设置自定义DNS的命令ucisetnetwork.{interface_name}.peerdns=0//是否使用上行DHCP或者PPPOE分配的DNS,这个参数默认值是1。不建议改这个值。uciadd_listnetwork.{interface_name}.dns="8.8.8.8"//添加DNS。openwrt会优先使用这个参数设置的DNSucicommitnetwo
- 小米4A路由器如何刷OpenWRT并结合内网穿透实现公网远程访问
深鱼~
cpolardocker容器运维ssh网络
文章目录推荐前言1.安装Python和需要的库2.使用OpenWRTInvasion破解路由器3.备份当前分区并刷入新的Breed4.安装cpolar内网穿透4.1注册账号4.2下载cpolar客户端4.3登录cpolarwebui管理界面4.4创建公网地址5.固定公网地址访问推荐前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】前言OpenWRT
- Openwrt-MT7688修改dts-dts解析
小橘子Geeker
https://blog.csdn.net/wind0419/article/details/83013942
- docker安装openwrt immortalwrt
Unen030
冲浪docker容器运维
前言:openwrt因为提供的是路由器的功能,可以接管无法安装软件的switch的流量。而且手机连接wifi把网关改为openwrt后,科学上网时远比启动手机的软件方便一:安装docker1.使用阿里镜像加速(从官网下载可能很慢)curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun命令详细解释:从"https://get.docker
- OPENWRT,爱快等软路由推荐
时代数字趋势
通常情况下,商业和企业级路由器(如思科、瞻博网络、HPE等)运行在自己专有的操作系统(OS)上,这些软件只运行在特定供应商的硬件设备上。然而,开源社区已经开发了一些出色的路由器操作系统,可以为X86电脑或普通WiFi设备等硬件提供操作系统,并将它们变成功能丰富的软路由器。这种用于路由器的开源固件/操作系统可以让它获得大多数路由器所不具备的功能,甚至可以把一台旧PC变成强大的路由器或防火墙设备。软路
- PVE系列-CT容器安装openwrt X86的极简方法
wjcroom
openwrt路由器虚拟机openwrtpvelxcCT
下载推荐:https://openwrt.ai/使用环境PVE8.0,openwrt是以上网址的最新版,内涵及其丰富组件。问题来源:在PVE虚拟机可以很方便的使用img文件,转换qm成一个硬盘文件,加入到虚拟机也就完成了,这种方式有个问题,停止命令经常失效。听说CT容器要好一点,但是网上的方法太繁琐,使用img,提取rooffs分区,导入成ct,启动。我的lenyu的openwrt打包里转换后,c
- PVE系列-防火墙的免费安静之旅IPfire
wjcroom
虚拟机路由器安全虚拟机linux
Ventoy一款引导盘可以引导各种启动盘安装盘的工具https://www.ventoy.net/cn/index.html在它的兼容iso的列表中发现了Ipfirehttps://wiki.ipfire.org/,本来用着openwrt也挺好,忍不住的虚拟机尝了尝鲜,发现的功能有2,安全吧,应该是专用的防护的。可以在里面安装werkshark,pak包管理。可以启动IPS一个防护功能,规则自动更
- openwrt折腾记5 广告屏蔽大师adbyby深度调优(借用老毛子完美数据文件)
wjcroom
openwrt路由器日常小操作lua开发语言bash
广告屏蔽大师adbyby深度调优本文的精进起始和结局一、探索试融合试用adbyby规则文件二、对luci-app-adbyby-plus更新lazy.txt,video.txt文件脚本adbybyupdate.sh中的地址修复和维护。三、规则更新-初步探索四、规则好像也只有HTTP,简化安装流程本文的精进(最新提醒:本文就是瞎折腾,运行半天后,直接断网,我就不知道这半天是怎么运行丝滑的)(反提醒,
- Koolshare之Openwrt上安装zerotier
maoerduoduo
Koolshare二次开发的Openwrt路由系统有很多丰富实用的软件,很值得推荐和使用。这里介绍下zerotier的安装和使用。1、打开酷软中心,安装zerotier软件。2、登录zerotier官网,注册账号,创建私人局域网,获取NetworkID。3、打开酷软中心已经安装好的zerotier软件,填入NetworkID,点击“开始运行”。4、修改/etc/config/zerotier配置文
- openwrt的samba复制文件提示空间不足的解决办法
加菲猫Jack
在openwrt上配置了Samba后发现从win复制一些稍微大一点的文件会提示空间不足,实际上空间足够,如图:image.pngimage.png检查了配置文件,似乎也没啥问题啊?image.png网上找了很久,有人说是optionname和optionpath,如果直接使用'mnt'和'/mnt/'会导致服务器对剩余空间大小判断错误而无法写入稍微大一点的文件。就改了下这个名字:image.png
- ubutu ssh openWRT
csdn-easyway
http://blog.chinaunix.net/uid-22556372-id-1773417.htmlssh登录出现的几种错误以及解决办法首先、确保server端的ssh服务是开的(serviceshhdstart)然后在client端输入:sshusrname@serverip(远程登录)scpfilenameusrname@serverip:/URL(远程传输)常出现的问题:问题一ssh
- OpenWrt的ssh无法登陆问题Permission denied, please try again.解决
log_zhan
智能路由器
OpenWrt的ssh无法登陆问题Permissiondenied,pleasetryagain.解决一、情况描述:我根据B站的博主提供的教程对红米AC2100路由器进行刷机。最开始刷的Openwrt是可以连接ssh的,后面的升级改进版就无法进入ssh了,具体的错误如下。``#采用windows的powershell登陆
[email protected]@192.168.30.1's
- VMware安装OpenWrt
不忘初心_fb28
环境准备首先下载固件,网址https://downloads.openwrt.org/image-20200913094529987因为这里是VMware安装,所以下载x86-64,下载链接关于OpenWrt/LEDE固件的一些说明:combined-ext4.img.gz(rootfs工作区存储格式为ext4。)combined-squashfs.img.gz(squashfs相当于可以恢复出厂
- 斐讯n1 PHP nginx,斐讯K3刷OPENWRT(LEDE)-学习使用 KodExplorer 搭建私有云存储(nginx+php7)心得...
PassionWakesMeUp
斐讯n1PHPnginx
其实搭建云存储的准备和安装软件相对比较容易些,再加上百度下,很容易解决。因此本篇主要记录配置方面的问题。也是做个留档,之后忘记时容易查找。php1、准备:路由刷openwrt(或者lede,如今两个已合并),经过usb挂载硬盘。html2、安装nginx、php7-fpm、kodexplorernginxnginx就一个软件包。浏览器php7-fpm安装这些:php7kodexplorer安装在/
- 斐讯K3刷OPENWRT(LEDE)-使用 KodExplorer 搭建私有云存储(nginx+php7)学习记录
greenice897
其实搭建云存储的准备和安装软件相对比较容易些,再加上百度下,很容易解决。所以本篇主要记录配置方面的问题。也是作个留档,以后忘记时容易查找。一、准备:路由刷openwrt(或者lede,现在两个已合并),通过usb挂载硬盘。二、安装nginx、php7-fpm、kodexplorernginx就一个软件包。php7-fpm安装这些:
- 斐讯 FIR151M 频繁掉线(OpenWRT解决方案)
无所不为无所为
OpenWRT硬件路由器日常问题
斐讯FIR151M频繁掉线(OpenWRT解决方案)参考文章:(1)斐讯FIR151M频繁掉线(OpenWRT解决方案)(2)https://www.cnblogs.com/sigeryoung/p/fir151m-packet-loss-solution-openwrt.html备忘一下。
- Wallys ROUTERBOARD DR6018-S QCN9074 WiFi Card IPQ6010,IPQ6018 802.11ax Support OpenWRT 2x2 2.4G&5G
WallysCarol
https://www.wallystech.com/Routerboard/DR6018-S-V02-wifi6-Qualcomm-IPQ6010-2T2R-2-GE-port-supporting-QCN9074-wifi-card-802.11AX-MU-MIMO-OFDMA.htmlFeaturesDR6018-SV02IPQ6010/IPQ6018/IPQ6000Quad-coreARM
- 电信宽带配置动态域名和端口映射
skywin88
网络
需求:家宽映射动态域名访问内网服务动态域名:18081>电信光猫:18081>Openwrt软路由:18081>主机192.168.3.172:8081目前网络结构:电信光猫192.168.1.1Openwrt软路由192.168.3.1主机192.168.3.172上8081端口起了一个nginx-docker服务前置条件:打电信10000客服电话将宽带改为公网IP注册oray的动态域名主机关闭
- 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