- Hive(11):Transactional Tables事务表
不死鸟.亚历山大.狼崽子
hivehivehadoop数据仓库
1Hive事务背景知识Hive本身从设计之初时,就是不支持事务的,因为Hive的核心目标是将已经存在的结构化数据文件映射成为表,然后提供基于表的SQL分析处理,是一款面向分析的工具。且映射的数据通常存储于HDFS上,而HDFS是不支持随机修改文件数据的。这个定位就意味着在早期的Hive的SQL语法中是没有update,delete操作的,也就没有所谓的事务支持了,因为都是select查询分析操作。
- 代码随想录DAY07
shiliuhua05
leetcode算法数据结构排序算法
代码随想录DAY07哈希表454题:四数相加给定四个包含整数的数组列表A,B,C,D,计算有多少个元组(i,j,k,l),使得A[i]+B[j]+C[k]+D[l]=0。为了使问题简单化,所有的A,B,C,D具有相同的长度N,且0≤N≤500。所有整数的范围在-2^28到2^28-1之间,最终结果不会超过2^31-1。启发:1、自己只想到4层for循环的暴力解法。2、联想到两数相加,这个是4个数相
- DIY台式机并安装Win10+Debian双系统
秋天的妖风
debianwindows程序人生linux
缘起做为软件开发者,之前一直使用MacBook系列,在公司用MacBookProM1,在家用使用自己的2018款MacBookAir。公司的电脑比较新配置也比较高,做开发使用还算顺利。但是家里的电脑在做开发的时候,打开IDE就已经有点卡顿了,在编程的时候,提示功能更是严重延迟,跟不上手速,于是有了更新电脑的想法。由于MacBook天然对开发友好,还是想用MacBook,但是现在MacBook越来越
- Debian常用命令
梅见十柒
软件工程debian运维
以下是完整的Linux命令大全,适用于Debian、Ubuntu及其衍生系统,涵盖系统管理、文件操作、磁盘管理、用户管理、网络调试、安全、进程管理等多个方面。目录基本命令关机与重启文件和目录管理文件搜索挂载文件系统磁盘空间管理用户和群组管理文件和目录权限文件的特殊属性打包和压缩文件DEB包管理查看文件内容文本处理字符设置和文件格式转换文件系统分析初始化文件系统SWAP文件系统备份与恢复光盘操作网络
- @LoadBalanced注解的实现原理
DanceDonkey
客户端负载均衡RestTemplateSpringCloudRPC
@LoadBalanced@LoadBalanced注解通常结合RestTemplate使用,RestTemplate是SpringCloud提供的一个编程式的实现远程过程调用的组件,简单来说就是可以实现发送http请求。但是在基于服务发现发送请求时,RestTemplate自己无法实现负载均衡,通常要标注@LoadBalanced。虽然之后一个RestTemplate对象,但这个对象是线程安全的
- Linux系统下minio设置SSL证书进行HTTPS远程连接访问
薄荷街的兔比先生
linuxsslhttps
文章目录1.配置SSL证书使用HTTPS访问2.MINIOSDK忽略证书验证3.使用受信任的证书1.配置SSL证书使用HTTPS访问生成域名对应的SSL证书,下载Apache版本,我目前只发现Apache这个里面有对应的私钥和证书私钥重命名为private.key证书重命名为public.crt,不更改为指定格式则会无法被识别。将公钥和证书放入root/.minio/certs文件夹中,此文件夹安
- @RabbitListener 每次重启抛出异常
木秀林
神奇的javabugrabbitmqspringboot线上问题
发现测试环境,每次重启都会抛出这个异常这个异常很明显是序列化异常,但是我的消息都是程序发出来的,不可能有错啊!!2022-03-2910:56:49[ERROR][dealer-content-platform][-1][default][10.140.1.74:8080][sky:N/A;][SimpleAsyncTaskExecutor-1][AbstractMessageListenerCo
- python中文版软件下载-Python IDLE(Python集成开发环境)v3.7中文版
编程大乐趣
PythonIDLE是一款汉化版的Python集成开发环境,是一款专门用于各类非商业Python开发的选择,不过一般下载正版的python后,IDLE会自动安装,软件涵盖了语法加亮、段落缩进、基本文本编辑、TABLE键控制、调试程序等功能,这款PythonIDLE是汉化版的,将idlelib.zip解压后替换Python安装目录下的Lib文件夹中的idlelib文件夹即可替代Python原版的ID
- 一直绕waf一直爽!利用 multipart/form-data 解析差异绕 WAF!!(全网最详细)
Dest1ny(沉淀版)
php开发语言web安全经验分享网络安全
、大家好,我是Dest1ny!今天是介绍利用multipart/form-data解析差异绕WAF!文中共介绍了八种绕过方法,基于对应的特征。1.multipart/form-data结合参数污染2.multipart/form-data参数覆盖3.multipart/form-data文件名覆盖4.multipart/form-dataContent-Disposition参数覆盖5.multi
- 税务门户网站系统:数据分析与税务政策传播
liuxin33445566
安全java开发语言数据库前端
2.1SSM框架介绍本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架是属于重量级别的框架,配置繁琐,不够灵活,修改程序需要修改好多个文件,并且运行起来也占用内存较高,CPU使用率相对也高,SpringMVC是Spring开发的
- iOS App 上架App Store及提交审核详细教程
鹅肝手握高V五色
cocoamacosobjective-c
上架AppStore审核分7步进行:目录一、上传ipa到AppStore二、设置APP各项信息提交审核1、安装iOS上架辅助软件Appuploader2、申请iOS发布证书(p12)3、申请iOS发布描述文件(mobileprovision)4、打包ipa5、上传ipa到iTunesConnect6、TestFlight方式安装到苹果手机测试7、设置APP各项信息提交审核前四布我们之前都做了,详见
- Zookeeper启动指定JDK版本
费曼乐园
Zookeeperzookeeper
1.从官网下载jdk21版本。JavaDownloads|Oracle2.将下载的jdk-21_linux-x64_bin.tar.gz文件上传的主机/usr/java目录下面。3.在/usr/java目录下面解压文件。tar-zxvfjdk-21_linux-x64_bin.tar.gz4.修改zookeeper的bin目录下面的zkEnv.sh脚本,在关于获取JAVA_HOME的脚本行前面添加
- Seata 安装部署
CIT ART
运维日常记录mysql数据库linux
一、安装1.下载二进制包#下载wgethttps://github.com/seata/seata/releases/download/v1.3.0/seata-server-1.3.0.tar.gz#解压tar-zxvfseata-server-1.3.0.tar.gz替换配置文件官方描述#替换配置文件vimseata/conf/registry.confregistry{type="nacos
- 通过gui安装deb包
翻滚吧键盘
服务器运维
su-aptupdate&&aptinstallgdebi右击deb包,选择gdebi打开即可。参考https://debian-beginners-handbook.arpinux.org/bookworm-en/download/the_beginners_handbook.pdf
- 为移动硬盘/硬盘盒安装linux
翻滚吧键盘
linuxubuntu运维
我安装的是popos,系统自带中文输入法,强推!步骤如下:把虚拟机的硬盘移除切换usb设备兼容性为{3.0/3.1}指定cd/dvd为要安装的iso镜像文件。进入后正常安装流程,会安装到硬盘盒里
- 双足机器人开源项目
广州深情Yangy_Jiaojiao
机器人
双足机器人(也称为人形机器人或仿人机器人)是一个复杂的领域,涉及机械设计、电子工程、控制理论、计算机视觉等多个学科。对于想要探索或开发双足机器人的开发者来说,有许多开源项目可以提供帮助。这些项目通常包括硬件设计文件、固件代码以及高级软件框架,以实现运动控制、导航、感知等功能。双足机器人开源项目推荐1.OpenHumanoids简介:由GeorgiaTech的AMBER实验室开发的开源双足机器人平台
- 豆瓣API-我在IDE上标记想看的电影(低配版API文档)
dreadp
前端pythonbeautifulsoupseleniumhtmlweb数据分析
引言我只是想在IDE上标记想看的电影,所以写了这个脚本…以下是脚本调用的API接口使用指南.脚本运行方式以及使用方法在使用MovieWishlister.py脚本之前,保证运行过一次TagAssassin.py中的get_all_tags(douban_user_url)函数来更新写入的文件中的标签,保证此时是最新的,以便可看JSON文件的标签来核对自己曾自定义的标签名.因为标签过多可能无法一次性
- Windows10下使用MSYS2来配置g++、CMake、Make、gdb
Christal_pyy
c++
0.概述在Linux系统下,很多发行版本都自带Make和GCC,所以不用用户去下载配置编译环境,而在Windows系统下这些环境都需要手动配置。g++、CMake、Make、gdb之间的关系:通过这些工具的协同工作,可以完成代码的编译、构建和调试,形成一个完整的开发流程。工具角色调用的工具GCC编译器无需调用其他工具CMake构建系统生成器生成Makefile或Ninja文件Make构建工具调用G
- 使用批处理文件清除系统垃圾
拿铁不拿铁
网络安全
第一步:打开记事本,里面的命令如下@echooffecho正在清理临时文件,请稍候...::清理系统临时文件echo清理系统临时文件...del/q/f/s"%TEMP%\*.*"del/q/f/s"%WINDIR%\Temp\*.*"rd/s/q"%WINDIR%\Temp"md"%WINDIR%\Temp"::清理Windows临时文件echo清理Windows临时文件...del/q/f/s
- 简单分享下python打包手机app的apk
小软件大世界
python开发语言
Python把python程序打包成apk的完整步骤1.引言在移动应用市场蓬勃发展的今天,开发人员常常需要将自己的Python程序打包成APK文件,以便在Android设备上运行。本文将详细介绍将Python程序打包成APK的完整步骤。2.准备工作在开始打包前,我们需要先安装以下几个工具:AndroidStudio:用于构建和打包APK文件;PythonforAndroid:用于将Python程序
- flutter 解决 Running Gradle task ”assembleDebug“
赖某
Flutterflutterandroidstudio
前提时间:2020-08-0100:00:00AndroidStudio配置好模拟器运行的时候在RunningGradletask”assembleDebug“始终不会变化flutterdoctor的环境基本没有问题照着官网,去配置flutter,环境变量等,然后执行命令flutterdoctor#它会检查插件SDK等环境,尽量保证无打叉这时候在AndroidStudio的考虑下,因为照着flut
- table多行表头合并 vue_vue elementUI table 自定义表头和行合并
weixin_39540704
table多行表头合并vue
最近项目中做表格比较多,对element表格的使用,只需要传递进去数据,然后写死表头即可渲染。但现实中应用中,如果写死表头,并且每个组件中写自己的表格,不仅浪费时间而且消耗性能。这个时候需要动态渲染表头。而官方例子都是写死表头,那么为了满足项目需求,只能自己来研究一下。1、自定义表头代码如下,其实就是分了两部分,表格主数据是在TableData对象中,表头的数据保存在headerDatas,hea
- android+ffmpeg库使用教程,适用于Android的ffmpeg(使用教程:“ ffmpeg和Android.mk”)...
OF COURSE想当然
我正在尝试为Android编译ffmpeg。我已经找到了关于该主题的几篇文章,但似乎都没有。如果尝试构建ffmpeg,它会发布在[1]上。是否有人使用这些教程成功编译了ffmpeg?我不确定如何实现步骤4到5。STEP4:配置...步骤5:CD到您的NDK根目录,键入makeTARGET_ARCH=armAPP=ffmpeg-org在我看来,按照第5步的教程中的说明构建类似的应用程序需要一些先前的
- android obb在哪,未解决:Android 使用obb步骤
渔舟晚之
androidobb在哪
1.通过unity导出包含obb的工程。2.按照google官方给定的obb命名方式,已经存放路径进行操作Obb方式:https://developer.android.com/google/play/expansion-files命名方式:[main|patch]。。.obbeg:main.314159.com.example.app.obb2.1存放路径Sd\Android\obb\packa
- Android Studio中使用FFmpeg动态库
Getnway
AndroidFFmpegNDKandroidffmpegandroidstudio动态库
使用FFmpeg动态库本文借鉴最简单的基于FFmpeg的移动端例子:AndroidHelloWorld,并介绍在AndroidStudio中的实现。项目地址:https://github.com/Getnway/FFmpegDemo本文介绍的是用NDK编译动态库,并在AndroidStudio中调用的步骤。准备项目需要有FFmpeg的动态库,如下文件(版本可以不同)。FFmpeg动态库编译参考Li
- chatgpt赋能python:Python怎么打包成APK
vacvefito
ChatGptpythonchatgpt开发语言计算机
Python怎么打包成APK如果你是一位有10年Python编程经验的工程师,并且想要将自己的Python应用程序打包成APK,那么你来对地方了。本文将会介绍如何使用Python来打包成APK,以及在不同平台上的一些注意事项。在阅读本文之后,你应该可以顺利地将自己的Python应用程序打包成APK了。什么是Python的APKAPK是AndroidPackage的缩写,它是Android系统中的一
- ffmpeg学习六:avcodec_open2函数源码分析
阳光玻璃杯
ffmpegffmpeg源码codecopen
上一节我们尝试分析了avformat_open_input函数的源码,这个函数的虽然比较复杂,但是它基本是围绕着创建和初始化一些数据结构来展开的,比如,avformat_open_input函数会创建和初始化AVFormatContext,AVClass,AVOption,URLContext,URLProtocol,AVInputFormat,AVStream等数据结构,这些数据结构的关系如下:
- ElementUi el-date-picker封装
柒柒兮
Elementvue
前言:由于el-date-picker返回的是一个数组且没有格式化,使用起来并不是很方便,所有个人稍微封装了下,写的不好,有问题请多指教!第一步新建vDatePicker.vueimport{ref,}from"vue";importutilsfrom"../utils/utils.js"//这边日期格式的代码就不展示了,这个比较简单哈exportdefault{props:{rangeName:
- Android 使用FFmpeg静态库
萌猫闯世界
FFmpegffmpegandroid
FFmpeg编译生成.a静态库译环境:Linux环境(Ubuntu14.04,x86_64)NDK版本(android-ndk-r17c)FFmpeg版本(ffmpeg-4.0.1):编写编译脚本:#!/bin/bashNDK=/home/qcg/android-ndk-r20bTOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64API=21fu
- 【YashanDB知识库】归档日志清理
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7281311.html?templateId=171...问题:按照官方文档提供的清理归档日志三种方式,手动删除归档日志文件返回succeed后,发现归档日志文件仍然存在原因:按照Yashan的默认配置,如果archivelog没有备份,没有同步到备机时,归档日志是不能删除的。因此考
- 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