- Google Cloud技术学习总结
谭俊杰Jerry
人工智能
GoogleCloudPlatform(GCP)是由Google提供的一套云计算服务,帮助企业和开发者利用Google的基础设施来构建、部署和扩展应用程序。GCP提供了广泛的服务,涵盖计算、存储、数据分析、机器学习和网络等领域。以下是GoogleCloud的技术总结:核心服务计算服务GoogleComputeEngine:提供虚拟机(VM)实例,支持自定义配置,适合各种工作负载。GoogleKub
- 力扣 乘积最大子数组
孑么
力扣算法leetcode职场和发展java动态规划贪心算法
动态规划,注意负负得正,dp交换。题目注意这里的dp的乘积要求最大,而两个很大的负数相乘也是大的,因此在每遍历到一个数时要存一个最大值的dp与一个最小值的dp,然后遍历完后再去存ans的dp。由于存在负数,那么会导致最大的变最小的,最小的变最大的。因此还需要维护当前最小值。时间复杂度:O(n),空间复杂度:O(1)。classSolution{publicintmaxProduct(int[]nu
- android adb 查看系统主频,hp adb命令,查看内存,CPU主频等信息。
三木在Yummy
androidadb查看系统主频
Theadbcommandprovidesawaytogainusefulinformationaboutanumberofthesystemsconfigurationareas.Todeterminethephysicalmemory(RAM):forHP-UX10xexample:echophysmem/D|adb/stand/vmunix/dev/kmemphysmem:physmem:2
- 强化学习在连续动作空间的应用:DDPG与TD3
AI天才研究院
计算AI大模型应用入门实战与进阶大数据人工智能语言模型AILLMJavaPython架构设计AgentRPA计算AI大模型应用
1.背景介绍1.1强化学习简介强化学习(ReinforcementLearning,简称RL)是一种机器学习方法,它通过让智能体(Agent)在环境(Environment)中与环境进行交互,学习如何根据观察到的状态(State)选择动作(Action),以最大化某种长期累积奖励(Reward)的方法。强化学习的核心问题是学习一个策略(Policy),即在给定状态下选择动作的映射关系。1.2连续动
- bug 系列 expected <class ‘openpyxl.styles.fills.Fill‘>
SHolmes1854
python
expectedpandas这个读取excel是为啥改用openxyl也不行,最后,看别人说的,把这个文档另存为居然就可以了…然后我发现居然真的可以
- 点云基础介绍(一)——三维点云
夜幕龙
3D视觉计算机视觉
目录1.绪论1.1什么是三维点云1.2主要特点:1.3主要获取方式1.4应用场景:1.5处理方法(持续更新ing):1.6主要挑战:1.7总结2.开源工具及库2.1介绍分析2.2PCL和Open3D区别3.开源资料3.1PCL3.2Open3D1.绪论1.1什么是三维点云三维点云(3DPointCloud)是一种用于表示三维空间中对象或场景的数据结构。在最基础的形式中,它是一个包含多个三维坐标点(
- 5、pod 详解 (kubernetes)
Sundayday47
k8skubernetes容器云原生harbor
pod详解(kubernetes)Pod的基础概念pause容器Pod的分类与创建自主式Pod控制器管理的Pod静态PodPod容器的分类基础容器(infrastructurecontainer)初始化容器(initcontainers)应用容器(Maincontainer)镜像拉取策略(imagePullPolicy)k8s部署harbor创建私有项目部署harbor仓库harbor登录凭据资源
- TCP三次握手四次挥手和TCP/UDP区别
不写bug的程序媛
javatcp/ipudp网络
TCP/UDP区别TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输TCP是面向字节流的,UDP是基于数据报的TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证TCP三次握手:第一次握手:客户端通过向服务端发送一个含有同步序列号的标志位的数据段给服务端,向服务端请求建立连接,通过这个数据段,客户端告诉服务端两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
- 聊聊PowerJob的ThreadPoolConfig
powerjob
序本文主要研究一下PowerJob的ThreadPoolConfigThreadPoolConfigtech/powerjob/server/config/ThreadPoolConfig.java@Slf4j@EnableAsync@ConfigurationpublicclassThreadPoolConfig{@Bean(PJThreadPool.TIMING_POOL)publicTask
- TCP/UDP 简介,三次握手与四次挥手
Ashy-
前端面试题前端笔记计算机网络tcp/ipudp网络
一、TCP三次握手目的:为了解决在不可靠的信道上建立可靠的网络连接三次握手是连接请求的过程:A发送连接请求的数据给B(发送SYN包)B同意连接,返回数据给A(返回SYN+ACK包)A收到后回复数据给B(返回ACK包),连接建立以上过程不区分客户端和服务端,tcp的连接是全双工的。两端均采用上述机制。Q:为什么不是两次握手?因为在不可靠的网络上可能会存在传输问题,比如A的第一次连接请求没有到B(网络
- 企业文件安全管理基础及防范策略
够快云库
企业数据安全企业文件安全
随着信息化进程的不断推进,企业在数字化转型过程中面临大量敏感数据的存储与传输问题。文件作为企业核心数据的载体,其安全性直接关系到企业的信息安全和业务连续性。因此,构建科学严谨的文件安全管理体系显得尤为关键。一、文件安全管理的重要性数据泄露风险企业内部员工、外部攻击者或第三方供应商的不当操作均可能导致敏感文件泄露,给企业带来巨大经济与信誉损失。法律合规要求随着GDPR、ISO27001等数据保护法规
- 史上最硬核的rpm和dpkg依赖问题解决方案_dpkg 依赖
2401_89285701
数据库服务器linux
这是因为:**「依赖检测」和「软件安装」不是apt做的,而是dpkg做的。依赖不满足「自动修复依赖」**才是apt做的。所以,如果你下载了一个deb的安装包通过dpkg安装,但依赖不满足的话,他只会提示你依赖缺失,但他不会自动寻找并安装依赖,虽然你仍然可以去下载安装缺失的依赖,但他如果缺失十个八个的,你再手动下载然后dpkg安装也不现实了。举个例子:我这里下载了一个搜狗输入法的安装包,dpkg-i
- 算法竞赛备赛——【背包DP】多重背包
Aurora_wmroy
算法竞赛备赛算法动态规划c++数据结构蓝桥杯
多重背包基础模型有一个体积为V的背包,商店有n种物品,每种物品有一个价值v和体积w,每种物品有s个,问能够装下物品的最大价值。这里每一种物品只有s+1种状态即“拿0个、1个、2个…s个”在基础版模型中,多重背包就是将每种物品的s个摊开,变为s种相同的物品,从而退化成01背包处理只需要在01背包的基础上稍加改动,对每一个物品循环更新s次即可时间复杂度为O(nsV)例题小明的背包3蓝桥知识点:DP——
- 【数值模型后处理系列】通风系数计算及垂直层插值
北潇
数值模型Python实用基础技能pythonWRF
一、通风系数1.1通风系数简介通风系数(VentilationCoefficient,VC)可以用来表征扩散条件,其计算公式如下(参考USIyerandPErnestRaj的文章):其中mixingdepth选用WRF输出的边界层高度(PBLH),meanwindspeed近似用边界层顶的风速与地面风速做平均(当然也可多选几层)。1.2Python代码实现VC的计算计算VC的示例代码:fromne
- ORA-39126: Worker unexpected fatal error in KUPW$WORKER.FETCH_XML_OBJECTS [ORA-04063: view “SYS.KU$_
当代小学生
数据库ORA-39126ORA-04063
今天expdp导出数据库,遇到了ORA-39126:WorkerunexpectedfatalerrorinKUPW$WORKER.FETCH_XML_OBJECTS[ORA-04063:view"SYS.KU$_RADM_FPTM_VIEW"haserrors报错,记录下处理过程首先报错如下:rocessingobjecttypeDATABASE_EXPORT/EARLY_OPTIONS/VIE
- 从 How 到 What:探索命令式与声明式编程的哲学
Vitalia
编程范式&语言艺术开发语言
编程范式是程序员用来构建程序的基本风格或方法。在众多编程范式中,命令式编程和声明式编程是最常见的两种。它们的主要区别在于程序员如何描述程序的逻辑和行为。文章目录命令式编程:指示程序如何改变状态1.过程式编程(ProceduralProgramming)2.面向对象编程(Object-orientedProgramming,OOP)特点示例声明式编程:只说结果,不说过程1.函数式编程(Functio
- vue 启动项目报错Cannot read properties of undefined (reading ‘parseComponent‘)
知道的越多越难受
vuevue.jsjavascript前端
如果出现如下报错大概率是因为install时中途出现异常导致vue-template-compiler依赖没有正常安装导致的,重新安装即可SyntaxError:TypeError:Cannotreadpropertiesofundefined(reading'parseComponent')Youmayusespecialcommentstodisablesomewarnings.Use//es
- Linux下使用poll函数编写UDP客户端、服务器程序
崔杰城
linuxudp网络协议网络
一、UDP服务器与客户端的区别对于UDP服务器与客户端,两者都可以通过sendto和recvfrom函数收发数据,它们的主要区别是:1.服务器一般是等待并响应来自客户端的请求,客户端则是主动发送请求并且等待服务器的响应。2.服务器端要将地址和端口号绑定,如果不绑定就无法使用recvfrom函数接受数据(也就是说服务器需要调用bind函数将一个套接字与一个地址绑定,而客户端不需要)。所以对于UDP,
- 非线性动力学笔记C2.1-2.2 一维流动中的不动点和稳定性
阿北Ben
笔记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言C2一维流动(flowonaline)引言2.1几何思考方式2.不动点(fixedpoint)与稳定性(stability)Appendix1前言提示:这里可以添加本文要记录的大概内容:参考书《Nonlineardynamicsandchaos》StevenH.Strogatz本节重点Note第二章内容的引言的1-2小节,
- 每周论文精读05-A2J:AnchortoJointRegressionNetwork for 3D ArticulatedPoseEstimation from a SingleDepthImage
Jason_____Wang
精读笔记python计算机视觉卷积手势识别深度学习
https://download.csdn.net/download/Jason_____Wang/16502249论文精读——A2J:Anchor-to-JointRegressionNetworkfor3DArticulatedPoseEstimationfromaSingleDepthImage标题比较长,已经打不完了。。所以题目格式有些变形,望谅解。上周尝试做了一下代码复现的方向,因为生活
- k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡
「已注销」
kubernetes负载均衡docker
前言Service资源主要用于为Pod对象提供一个固定、统一的访问接口及负载均衡的能力。service是一组具有相同labelpod集合的抽象,集群内外的各个服务可以通过service进行互相通信。当创建一个service对象时也会对应创建一个endpoint对象,endpoint是用来做容器发现的,service只是将多个pod进行关联,实际的路由转发都是由kubernetes中的kube-pr
- Leetcode 712. Minimum ASCII Delete Sum for Two Strings
小白菜又菜
Leetcode解题报告动态规划(DP)leetcode算法
ProblemGiventwostringss1ands2,returnthelowestASCIIsumofdeletedcharacterstomaketwostringsequal.AlgorithmDynamicProgramming(DP):similarasLongestCommonSubsequence(LCS).Ifs1[i]!=s2[j]:F(i,j)=min(F(i−1,j)
- Qt QComboBox 下拉列表偏移问题探究:多屏幕与高 DPI 环境下的 bug
吃面不喝汤66
Qtqtbug开发语言
一、问题背景与重现步骤现象描述:在Qt应用程序中,主界面包含QComboBox控件,并且启用了高DPI支持(例如在main()中调用QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling))。当用户将窗口拖动到不同DPI的屏幕上,点击QComboBox弹出下拉列表时,下拉列表的位置与预期不符,出现明显偏移,从而影响用户体验。重现步骤:在
- Android Preference隐藏,删除方式
码点
androidframworkAndroid底层知识androidjavaapache
在Android系统开发中,经常需要去掉或者隐藏原生设置的一些条目。一、隐藏Preference方法@VisibleForTestingstaticfinalStringENABLE="enable";Preferenceenable=findPreference(ENABLE);enable.setVisible(false);R.xml.main&l
- Ollama容器+打造DeepSeek-R1-7B大模型
码哝小鱼
AI大模型docker运维语言模型
1、获取Ollama官方镜像1.1在线拉取镜像#dokcerpullollama/ollama:0.5.71.2导入离线镜像#tar-zxfollama0.5.7_x86.tar.gz#dokcerload-iollama0.5.7.tar2、执行以下命令创建与启动ollama#dockerrun-dp8880:11434--nameollama\-eOLLAMA_HOST=0.0.0.0:114
- DPlayer + vue3 使用
是晓周哦
javascriptvue.js前端视频typescript
帮助文档https://dplayer.diygod.dev/zh/guide.html#special-thanks安装pnpminstalldplayer--savepnpminstall@types/dplayer--save-dev使用方法import{ref,onMounted,onBeforeUnmount}from'vue';importDPlayerfrom'dplayer';im
- python M3U8转换为MP4
会飞的鱼—
python
importosimportasyncioimportrandomimportshutilimportaiohttpimportffmpegfromconcurrent.futuresimportThreadPoolExecutor#M3U8文件的URL#m3u8_url='********************.m3u8'#临时存储TS文件的文件夹ts_folder='ts_files'os.
- Springboot整合AWS s3 存储
宁漂打工仔
Java#AWSspringbootawsjava
依赖com.amazonawsaws-java-sdk-s31.11.543Awsyaml配置amazon:aws:access-key-id:AKIATaccess-key-secret:Tv7Cks3:default-bucket:region:endpoint:https://.com/Configimportcom.amazonaws.auth.AWSCredentials;importc
- [Ubuntu 20.04]Realtek ALC294无声音解决
CatTomCSDN
ubuntulinux
本文首发于本人博客:[Ubuntu20.04]RealtekALC294无声音解决目录环境问题解决附:查看你使用的声卡型号参考环境ASUSFL8000UUbuntu20.04问题RealtekALC294声卡在Ubuntu20.04下外放/耳机无声音估计这个问题应该只要是ASUS都可能会遇到,不论笔记本还是主板…解决修改/etc/modprobe.d/alsa-base.conf在文件的最后添加o
- Netty UDP 客户端发消息后接收服务器信息
一顿敲代码的小朋
nettyjava
在本站大神的文章的基础上,加入了我的项目需求,当客户端用UDP给服务端发送消息后,接收到服务端返回的消息再关闭客户端。UdpServer.javaimportio.netty.bootstrap.Bootstrap;importio.netty.channel.ChannelOption;importio.netty.channel.EventLoopGroup;importio.netty.ch
- 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