- memory_info:Flutter 插件助力鸿蒙生态,精准获取设备内存信息
harmonyos
memory_info:Flutter插件助力鸿蒙生态,精准获取设备内存信息帮助您获取设备内存信息(ram&rom)本项目作者:王阳科/坚果您可以使用这个Flutter插件来更改应用程序图标上的角标作者仓库:https://github.com/MrOlolo/memory_info/tree/master/memory_info在数字化浪潮的推动下,跨平台开发框架如Flutter凭借其高效、便捷
- 2021-07-08 转载Cesium中文网
liuqun69
javapythonlinux人工智能html
Cesium更新日志英文完整更新日志:https://github.com/CesiumGS/cesium/blob/master/CHANGES.md中文:http://cesium.coinidea.com/site/download.html中文更新日志由Cesium中文网(京ICP备15014655号)提供1.83-2021-07-01:Cesium-1.83.zip新增对KTX2和基本通
- 【数据标注师】目标跟踪标注
试着
数据标注师目标跟踪人工智能计算机视觉数据标注师目标跟踪标注
目录一、**目标跟踪标注的四大核心挑战**二、**五阶能力培养体系**▶**阶段1:基础规则内化(1-2周)**▶**阶段2:复杂场景处理技能**▶**阶段3:专业工具mastery**▶**阶段4:领域深度专精▶**阶段5:效率突破方案三、**精度控制五大核心技术**四、**质检与错误防御体系**1.**四维质检法**:2.**高频错误防御表**:五、**持续进阶体系**1.**复杂场景专项**
- 鸿蒙ArkTS容器组件:【Scroll】
鸿蒙系统小能手Mr.Li
鸿蒙开发harmonyos鸿蒙鸿蒙开发OpenHarmony组件arkts程序员
Scroll可滚动的容器组件,当子组件的布局尺寸超过父组件的尺寸时,内容可以滚动。说明:开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。该组件从APIversion7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。该组件嵌套List子组件滚动时,若List不设置
- Windows虚拟打印机或文档转PDF工具
daqinzl
虚拟打印机pdf虚拟打印机
1,MasterPDFEditor52,doPDF3,clawPDF4,pdf24creator5,PDFCreator6,CutePDFWriter7,BullzipPDFPrinter
- GitFlow 工作模式(详解)
asom22
git
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考Git与GitFlow模式我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码会十分的整洁并且丢失后还容易找回,但是,你会发现如下问题:版本管理不够清晰如果没有良好的规范,master分支可能包含未完成或不稳定的代码。不适合多
- 嵌入式笔记:常用接口之详解I2C总线
失落的多巴胺
STM32网络单片机
I2C(Inter-IntegratedCircuit)1.简介I2C(也称为IIC)是一种同步、多主、低速的串行通信协议,只需要两根线即可实现设备之间的数据传输,广泛应用于各种嵌入式设备中,这点在下文原理部分会进一步介绍。2.原理与特性1.双线通信I2C总线由两根信号线组成:SCL:即时钟线,由主设备(Master)产生时钟信号,用于同步数据传输。SDA:即数据线,用于主设备与从设备(Slave
- 【安全漏洞】深入剖析CVE-2021-40444-Cabless利用链
IT老涵
安全网络漏洞安全安全漏洞网络安全
背景CVE-2021-40444为微软MHTML远程命令执行漏洞,攻击者可通过传播MicrosoftOffice文档,诱导目标点击文档从而在目标机器上执行任意代码。该漏洞最初的利用思路是使用下载cab并释放、加载inf文件的形式执行恶意代码。独立安全研究员EduardoB.在github公开了一种新的“无CAB”的漏洞利用方法及其POC。公众号之前发布的研判文章中已对在野利用中出现的新的Cable
- python 脚本 遍历目录,并把目录下的非utf-8文件改成utf8
还债大湿兄
python开发语言数据库
从网上下载的qt项目我本地编译里面经常包含中文,提示编译不过,实际上以前经常手动转,发觉还是用脚本不,毕竟这次下的有点大,我只改.h.cpp#pythonD:\python\filetoUtf.pyE:\EasyCanvas-master\EasyCanvas-masterimportosimportcodecsimportargparseimportsysdefconvert_to_utf8_b
- OPC/MQTT工业通信软件OPLink
牛宝柱
OPLink是上海泗博自主研发的基于OPC数据采集及转发,OPC数据到MQTT通信的产品。它是基于上海泗博多年的OPC应用经验和工业通信产品的开发背景,推出的OPC/MQTT工业通信软件。软件设计简洁、实用、稳定。同时,OPLink还具备与KepwareLinkMaster相似的数据转发功能,可实现PLC设备间的自主数据通信。功能升级实时性增强:针对复杂的工业自动化环境,OPLink优化了数据传输
- 深入剖析Nginx架构及其不同使用场景下的配置
LiRuiJie
NginxNginx系统架构反向代理
一、Nginx整体架构概览1.Nginx简介Nginx是采用C语言编写的高性能Web服务器、反向代理服务器及邮件代理服务器,特点是:高并发、高可用、低内存占用、模块化设计。架构核心理念:Master-Worker多进程模型事件驱动(Event-Driven)+异步非阻塞高度模块化设计2.进程模型Nginx的进程模型非常轻量,通常包含:1.Master进程启动时由shell进程fork出来主要负责:
- 使用docker搭建redis主从架构,一主2从
黑皮爱学习
redis自学笔记dockerredis架构
使用Docker搭建Redis主从架构(一主两从)Redis主从架构是提高系统可用性和读取性能的重要方案,通过Docker可以快速搭建该架构。下面将详细介绍搭建步骤。架构设计我们将搭建包含以下组件的架构:1个主节点(Master):负责写入操作,端口63792个从节点(Slave):负责读取操作,端口分别为6380和6381所有节点通过DockerCompose管理,共享一个自定义网络搭建步骤1.
- Python视觉实战项目31讲源码地址
机械小蛟龙
笔记opencvpython深度学习
Python视觉实战项目31讲源码地址来源:公众号小白学视觉2月1日使用OpenCV实现猜词游戏https://github.com/spmallick/learnopencv/tree/master/Hangman使用OpenCV实现图像修复https://github.com/spmallick/learnopencv/tree/master/Image-Inpainting自适应显着性的图像
- [SQLSERVER][SQL]监控SQlserver存储过程
awonw
sqlserversqlserversql数据库
USE[master]GO/******Object:StoredProcedure[dbo].[sp_who_run_plus]ScriptDate:2021-09-1016:51:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROC[dbo].[sp_who_run_plus]ASBEGINSELECTDB_NAME(er.[
- ubuntu22.04系统kubeadm部署k8s高可用集群
l386913
kubernetes容器云原生
一、shell脚本一键部署#!/bin/bashset-e#节点配置MASTER1="192.168.177.125"MASTER2="192.168.177.126"MASTER3="192.168.177.127"WORKER1="192.168.177.128"KEEPALIVED_VIP="192.168.177.129"#当前主机IPCURRENT_IP=$(hostname-I|awk
- mysql 5.7 和 8.0 免密后修改root密码
目录一、mysql5.7版本1、修改配置2、修改权限密码3、修改配置文件my.cnf,删除skip-grant-tables4、重启mysql服务5、重新登录二、mysql8.0版本1、查找密码并登陆Mysql2、修改Mysql密码8.0版本输入命令一、mysql5.7版本1、修改配置[
[email protected]]#vi/etc/my.cnf在最后面新增:skip-grant-
- GitHub多人协作
hard88_
github
1.Fork在github上fork项目2.Clone将fork来的项目clone到本地3.Branch创建分支,并在分支中进行修改4.Commit&Push修改完后提交5.PullRequest在GitHub上选择之前Push上来的分支,选择创建pullrequest以fork来的master为根节点进行pullrequest。这样项目负责人会收到邮件提醒,可以查看你的pullrequest请求
- Shell并发控制:GNU parallel 跟bash原生命令的区别
Jasper张
AWSWebRTCgnubashlinuxawswebrtc服务器运维
在写并发启动viewer的shell脚本时,有这样一个业务场景:每个master每秒最多连5个viewer,这样的话就导致在并发启动时,一个channel最多同时启动5个viewer,如果同时启动6个viewer,那么最后启动的那个viewer就会拉流失败。所以对应的启动列表应该是这样:包含两列,分别是channel和index,例如,列1列2备注channel1index1代表viewer1ch
- AWS WebRTC:通过shell实现多进程启动viewer
Jasper张
AWSWebRTCawswebrtc云计算服务器linux运维
前面总结了awswebrtcsdk-c项目中多进程启动master的shell脚本,具体参考:https://blog.csdn.net/zhang_jiamin/article/details/148616899这次总结一下多进程启动viewer的shell脚本,以及过程中遇到的问题和解决方法。实现说明:1、获取sid和uid(用于认证)2、获取ak/sk/token(多个SN共用一组密钥)3、
- K8s集群的环境部署
hxdcxy
kubernetesjavadocker
通过kubeadm进行部署1.测试环境所需要的主机名和IP和扮演的角色harbor172.25.254.200harbor仓库k8s-master172.25.254.100k8s集群控制节点k8s-node1172.25.254.10k8s集群工作节点k8s-node2172.25.254.20k8集群工作节点注意:所有节点禁用selinux和防火墙所有节点同步时间和地址解析所有节点安装dock
- Redis集群形式--哨兵模式集群和高可用模式集群---Redis学习笔记003
添柴程序猿
redis缓存redis集群模式
对于redis集群,我们搭建的时候可以选择两种模式:这里记录一下,至于如何搭建,网上教程太多了,这里不多说了,记录一下到时候用到时候,可以想到应该使用哪种模式,到时候去搭建就可以了哨兵模式的集群:在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且
- k8s云原生技术栈(脑图)
晴空06
云原生kubernetes容器
Kubernetes(K8s)是一种开源的容器编排引擎,用于自动化应用程序容器的部署、扩展和操作。它由Google设计并捐赠给CloudNativeComputingFoundation(CNCF)进行维护。Kubernetes提供了一个强大的平台,用于构建和管理容器化应用程序的解决方案。K8s基础概念Kubernetes集群架构Master节点组件APIServerKubernetesAPI服务
- 2.5G/5G/10G自协商An
挨踢小明
驱动开发
IEEE802.3协议中,**2.5GBASE-T、5GBASE-T和10GBASE-T**的链路自协商(auto-negotiation,简称AN)是在物理层(PHY)完成的。它的作用是:***让连接双方(主机和对端)自动协商出都支持的最高速率*****确定主从(Master/Slave)角色*****激活相应的链路训练和数据通道(如LDPC编码、DFE、THP等)**这些速率都基于**Clau
- Kubernetes集群架构详情
弓长三虎
kubernetes架构java容器云原生
Kubernetes属于典型的Server-Client形式的二层架构,在程序级别,Master主要由APIServer(kube-apiserver)、ControllerManager(kube-controller-manager)和Scheduler(kubescheduler)这3个组件,以及一个用于集群状态存储的etcd存储服务组成,它们构成整个集群的控制平面;而每个Node节点则主要
- Kubernetes架构及核心部件
程序员半支烟
kubernetes架构容器docker
Kubernetes有哪些核心部件,架构图和流程图又是怎样的,kubectl和kubelet经常分不清,声明式API和命令式API又有什么区别,本文一一详说。1、Kubernetes集群概述1.1、概述Kubernetes是一个容器编排平台,它使用共享网络将多个主机(物理服务器或虚拟机)构建成集群。分为MasterNode(主节点)和WorkerNode(工作节点),Master负责管理整个集群,
- Kubernetes架构及安装——详细流程
WantEnergy
kubernetes容器云原生
目录一、基础环境准备(两台设备都要执行)第一步:修改主机名第二步:添加hosts第三步:清空防火墙和关闭selinux和swap第四步:fstab加注释符二、修改内核参数三、安装docker四、设置镜像站五、安装kubelet、kubectl、kubeadm修改kubelet运行时六、初始化集群(以下操作都在master节点操作)七、设置kubectl八、设置补齐九、配置网络插件十、工作节点nod
- MySQL(98)如何进行故障切换?
进行故障切换(Failover)是确保数据库高可用性的关键步骤。在MySQL中,故障切换通常涉及将一个从服务器提升为主服务器,并将其他复制流重新定向到新的主服务器。下面是详细的故障切换步骤和代码示例。前提条件假设有三个MySQL服务器:主服务器(Master):192.168.1.1从服务器1(Slave1):192.168.1.2从服务器2(Slave2):192.168.1.31.确认主服务器
- ⭐️⭐️⭐️ 免费的AI Clouder认证 ⭐️⭐️⭐️ 第四弹【课时3:通义灵码使用指南】for「大模型Clouder认证:基于通义灵码实现高效AI编码」
Charles茶总
学习笔记人工智能阿里云大模型AIClouder认证AI编程通义灵码
一、学习目标:精准锚定认证核心能力要求(一)工具操作的「三维mastery」基础操作层熟练使用2种代码生成模式(实时续写/自然语言生成)完成80%日常编码任务5分钟内完成「选中代码→生成单元测试→切换框架→采纳代码」的全流程操作掌握跨平台快捷键(如macOS的⌘⇧L与Windows的Ctrl+Shift+L唤起问答助手)进阶功能层区分VSCode(支持6种语言)与JetBrains(仅2种语言)的
- Hadoop 版本进化论:从 1.0 到 2.0,架构革命全解析
拾光师
大数据后端
Hadoop版本hadoop1.x版本由三部分组成Common(辅助工具)HDFS(数据存储)MapReduce(计算和资源调度)存在的问题JobTracker同时具备了资源管理和作业控制两个功能,成为了系统的最大瓶颈采用了master/slave结构,master存在单点问题,一旦master出现故障,会导致整个集群不可用采用了基于槽位的资源分配模型,将槽位分为了Mapslot和Reducesl
- K8S部署calico网络插件有一个calico-node-xxx始终0/1
BOUTTIME
网络kubernetes容器
1、情况是这样的,我在master部署calico网络插件的时候,运行完kubectlapply-fcalico.yml后,查看pod运行情况:(base)[root@masteropt]#kubectlgetpod-ANAMESPACENAMEREADYSTATUSRESTARTSAGEdefaultnfs-client-provisioner-566f7f554d-6hww61/1Runnin
- 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