- Prettier 插件 使用
取啥好
vscode前端
要在VisualStudioCode中配置Prettier插件,使得在按下Ctrl+S时自动格式化代码,你可以按照以下步骤进行设置:安装Prettier插件:确保你已经在VisualStudioCode中安装了Prettier插件。你可以在左侧的侧边栏中点击"Extensions"图标,然后在搜索栏中输入"Prettier-Codeformatter",点击安装按钮进行安装。配置保存时格式化:打开
- PyInstaller下载、安装、使用
sayhhhui
pyinstaller笔记exepython
方法一:1、PyInstaller下载及安装win+Rcmd输入:pipinstallpyinstaller-ihttps://pypi.tuna.tsinghua.edu.cn/simple/即安装成功cmd命令行:pipinstallpyinstaller找到安装的位置在d盘2、PyInstaller的使用找到P
- React Hooks forwardRef useImperativeHandle TypeScript类型 最佳实践
m0_67265464
面试学习路线阿里巴巴javajava进阶后端
定义官网文档forwardRef:转发refuseImperativeHandle:用于自定义暴露给父组件的实例值版本"react":"^17.0.2""@types/react":"^17.0.44"代码父组件import{FC,useEffect,useRef}from'react';//导入子组件importChildComponent,{IRefProps}from'./ChildComp
- 【Vite】前端构建工具详解
Peter-Lu
#Vite前端javascriptnpmnode.jswebpack
文章目录一、构建工具概述1.什么是构建工具?2.常见的构建工具二、Vite的优势1.极速的开发服务器2.极速的冷启动3.高效的HMR(热模块替换)4.生产环境中的优化三、Vite的基本用法1.安装Vite2.项目结构3.启动开发服务器4.构建生产版本四、Vite的核心概念1.按需加载2.ESBuild3.Rollup打包五、Vite的扩展与定制1.插件系统2.环境变量六、Vite的应用场景1.适合
- 详谈React中 forwardRef、useImperativeHandle的使用场景
凉菜凉凉
React#+技术分享react.jsjavascript前端
forwardRef(render)允许组件使用ref将DOM节点暴露给父组件constSomeComponent=forwardRef(render)参数render:组件的渲染函数。React会调用该函数并传入父组件传递的props和ref。返回的JSX将作为组件的输出。返回值forwardRef返回一个可以在JSX中渲染的React组件。与作为纯函数定义的React组件不同,forwardR
- 记-react-connect中使用forwardRef 问题。
$(薛定谔的喵)
web前端Reactjsreactredux前端
记-react-connect中使用forwardRef问题。最近在dvajs中使用onRef的过程中,需要给绑定connect的组件透传forwardRef类似这样的形式:importReact,{forwardRef,useImperativeHandle,useState,useEffect}from'react';import{connect}from'dva'constC2=forwar
- JavaScript考核详解
青青青青草地
javascript开发语言ecmascript
文章目录JavaScript考核详解一、请简述var,let,const的区别?二、解释垃圾回收机制,垃圾回收的方式?三、以下代码的输出是什么?四、this的指向五、实现数组扁平化六、实现数组去重七、JS中的基本类型JavaScript考核详解一、请简述var,let,const的区别?块级作用域:块级作用域有大括号{}包括,let和const具有块级作用域,var不存在块级作用域。块级作用域解决
- forwardRef
懒人村杂货铺
前端
`forwardRef`是React提供的一种高级API,用于在函数组件中转发(forward)`ref`到子组件的DOM元素或类组件。这对于需要直接操作子组件的DOM节点或获取子组件实例的情况非常有用。###如何使用`forwardRef`####示例假设我们有一个自定义的输入框组件`FancyInput`,我们希望通过父组件能够直接访问这个输入框的DOM节点,以便在父组件中调用焦点(focus
- 如何使用Django中间件
AI航海家(Ethan)
Djangopython后端框架django中间件python后端postgresql
如何使用Django中间件让访问更安全?嘿,朋友们!今天我们来聊聊如何在Django中使用自定义中间件保证某个文件夹的访问需要token验证。毕竟,有时候我们需要确保只有合法用户才能访问某些资源,对不对?什么是中间件?简单来说,中间件就是一种在Django应用请求和响应过程中拦截并处理请求的组件。它们在请求到达视图之前、在响应到达客户端之前能够进行各种操作。比如本次,我们将实现一个简单的token
- js考核第三题
2401_88560642
javascript前端java
题三:随机点名要求:分为上下两个部分,上方为显示区域,下方为控制区域。显示区域显示五十位群成员的学号和姓名,控制区域由开始和结束两个按钮组成。点击开始按钮,显示区域里的内容开始滚动,点击结束按钮,内容滚动停止,随机显示一位成员的学号和姓名。html部分开始结束css部分body{margin:0;padding:0;display:flex;flex-direction:column;height
- 计算机毕业设计——Springboot点餐平台网站
程序媛9688
课程设计springboot后端
作者:程序媛9688开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。文末获取源码+数据库感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人计算机毕业设计——jspssm523Springboot点餐平台网站SpringBoot点餐平台网站功能说明在当今数字化时
- Spring框架常用注解详解
二的10次方
Spring全家桶Javaspringjava后端
Spring框架作为Java开发中最受欢迎的开源框架之一,其强大的功能很大程度上得益于其丰富的注解(Annotation)支持。本文对Spring框架中常用的注解进行详细解析,并通过示例来展示它们的用法和效果。1.组件注解@Component这是一个泛化的概念,仅仅表示一个组件(Bean),可以作用在任何层次。当不知道一个类归属于哪个层时,可以使用@Component注解标注。使用案例:@Comp
- TransactionTemplate 与@Transactional 注解的功能及方法详解
金州小铁匠
javaspringspringbootspringcloud
TransactionTemplate功能及方法详解1.TransactionTemplate功能TransactionTemplate是Spring提供的编程式事务管理工具,通过代码显式控制事务的开启、提交和回滚,适用于需要动态或复杂事务逻辑的场景。2.核心方法及使用(1)execute(TransactionCallbackaction)功能:执行包含事务的代码块,支持返回值。代码示例:Use
- 【PyQt5 应用程序】PyQt基础组件:API接口调用
Mr数据杨
Python实用程序qtpyqt数据库
在构建PyQt应用程序时,理解组件的基本操作和信号槽机制至关重要。PyQt提供了丰富的组件,如按钮、文本框、滑块等,可以与用户产生交互。在这些交互中,使用API接口处理事件响应是开发的核心内容。本教程将通过几个实际应用示例,展示如何利用PyQt的信号槽机制,将组件与API接口进行有效链接,进而构建响应式应用程序。文章目录事件处理与信号槽机制QPushButton与clicked信号QLineEdi
- Android Studio tools:replace的使用
川峰
AndroidStudioAndroidtools:replace
一般是项目中使用的第三方依赖库中的AndroidManifest.xml中跟当前app的AndroidManifest.xml中有重复的某些属性时AS会提示这个,其实你按照他的提示添加就可以解决了,这里只是记录一下。如三方的依赖中application标签添加了android:theme,android:label可以在当前app中添加:
- Spring全家桶的常用注解详解
Mundo.0
javaspringspringboot
1.基础复习1.1注解是什么?注解是一种特殊的Java构造,也是一种引用数据类型,编译后也是生成.class文件。自定义注解格式[修饰符列表]@interface注解类型名{}注解可以用在类,方法,字段,参数,变量,构造方法或包上;注解也可以用在注解上。1.2注解的组成部分1.2.1四个元注解元注解:用来标注“注解类型”的注解@Target用来标注“被标注的注解”可以出现在哪些位置上。例如:@Ta
- cocos creator从零开发五子棋(07)-胜负ui
cocos
Canvas节点下新建空节点panelSettle,挂载Widget组件并勾选Top、Right、Bottom、Left把这些属性都设置为0,挂载BlockInputEvents组件。panelSettle节点下新建Label(文字)并重命名为lblMsg,PositionY设置为100,Color设置为#19FF00,FontSize和LineHeight都设置为100。panelSettle节
- 深入浅出 Spring Cloud 微服务:架构、核心组件与应用实践
风亦辰739
springspringcloud微服务
随着互联网应用规模的扩大和复杂度的提升,传统的单体架构难以满足企业对于高并发、高可用性和快速迭代的需求。微服务架构成为一种解决方案,帮助企业将应用拆分为多个小型服务模块,各模块独立开发、部署和扩展。SpringCloud作为微服务架构的核心框架,提供了一整套工具和规范,极大简化了微服务开发与管理的难度。本文将带你了解SpringCloud微服务的架构、核心组件以及实际应用场景,帮助开发者快速上手并
- 【大模型】ChatGPT 数据分析与处理使用详解
小码农叔叔
AI大模型实战与应用ChatGPT数据分析ChatGPT数据处理ChatGPT处理数据ChatGPT分析数据ChatGPT数据分析使用
目录一、前言二、AI大模型数据分析介绍2.1什么是AI数据分析2.2AI数据分析与传统数据分析对比2.2.1差异分析2.2.2优劣势对比2.3AI大模型工具数据分析应用场景三、AI大模型工具数据分析操作实践3.1ChatGPT常用数据分析技巧操作演示3.1.1快速生成数据3.1.2在线分析数据3.1.3在线提取数据3.1.4离线数据提取与分析3.1.5提取PPT数据3.1.6提取文档数据并分析3.
- ✨《微前端落地实战:qiankun从入门到精通!3小时搞定Vue+React多应用架构》
庸俗今天不摸鱼
前端vue.jsreact.js学习前端框架
微前端落地实践指南(qiankun框架)微前端核心架构图graphTDA[主应用]-->B[vue子应用]A-->C[react子应用]A-->D[angular子应用]B-->E{通信机制}C-->ED-->E主应用配置详解1.主应用注册流程//main.jsimport{registerMicroApps,start}from'qiankun';constapps=[{name:'vueApp
- 在Vue项目中使用高德地图Marker
小刘哥007
Vue实战vue.js前端javascript
目录前置准备1.创建Vue项目2.安装高德地图SDK实现Marker组件1.创建Map.vue组件2.使用Map组件运行项目高级功能1.动态添加和删除Marker2.自定义Marker样式3.添加信息窗体性能优化前置准备1.创建Vue项目首先,我们需要创建一个Vue项目。如果你还没有安装VueCLI,可以通过以下命令安装:npminstall-g@vue/cli然后,创建一个新的Vue项目:vue
- 从0开始制作ArcGis——第一章
geocat
从0开始制作ArcGisarcgisc++shp
一、关于shp文件1.什么是shp文件?2.shp文件的使用场景3.本章结束1.什么是shp文件?shp文件是一个存储了非拓扑几何体及其属性信息的地理特征的数据集。非拓扑:点、线、面等几何体之间并无拓扑关系,每一个记录(几何体)都是各自独立的;属性信息:dbf中存储了描述shp中这些几何体的信息,如点名等地理属性等特征。因为shp文件没有存储几何体之间的拓扑关系,因此shp文件在进行绘制和读写的时
- python set operation
screaming
PythonSet
Setcanbeconvertedtolistbylist(set)add(elem)¶Addelementelemtotheset.remove(elem)Removeelementelemfromtheset.RaisesKeyErrorifelemisnotcontainedintheset.discard(elem)Removeelementelemfromthesetifitispres
- 代码随想录day3
mvufi
python开发语言
203.移除链表元素虚拟头结点:增加删除都很容易python不用new,直接=ListNode(...)#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defremoveElements(self,h
- Spring Cache使用指南
半旧夜夏
springjavamysql
文章介绍了SpringCache的基本使用,包括如何配置和使用不同的缓存管理器、缓存注解和缓存策略。同时,还提供了一些实际的使用示例和最佳实践,以帮助读者更好地理解和应用SpringCache。一、引入依赖org.springframework.bootspring-boot-starter-cacheorg.springframework.bootspring-boot-starter-data
- 阿里云通用平衡增强型g6e服务器网络收发包能力PPS对照表详解
m0_60889071
阿里云服务器
阿里云服务器通用平衡增强型g6e实例是阿里云新推出的第六代云服务器,最大网络收发包能力达到2400万PPS,g6e实例CPU内存比1:4适用于高网络包收发场景等应用场景,InstanceTypes分享阿里云g6e通用平衡增强型云服务器网络收发包PPS能力汇总:阿里云g6e实例网络收发包什么是网络收发包?网络收发包PPS即packetspersecond每秒发包数量,网络信息最终都是按照包为单位发送
- Python集合之set()使用方法详解
lmseo5hy
python培训python集合
set是一个无序且不重复的元素集合,它有可变集合(set())和不可变集合(frozenset)两种,可以对set()集合进行创建、添加、删除、交集、并集和差集的操作,非常实用,以下是具体用法:一、创建集合setpythonset类是在python的sets模块中,新的python版本可以直接创建集合,不需要导入sets模块。具体用法:1.set('old')2.set(‘o’,’l’,’d’)二
- 算法分析与设计(一)——0-1背包问题
冠long馨
数据结构与算法算法动态规划数据结构背包问题
文章目录1三种背包问题详解2最值问题1.10-1背包问题1.2零钱兑换1.3一和零1.4最后一块石头的重量3.恰好背包容量问题4.排列组合问题4.1目标和4.2组合总和Ⅳ在简单复习完数据结构以后,便开始了算法复习。本博客将结合复习视频与LeetCode题目,面向机考算法复习。背包动态规划问题一般分为三种题型:最值问题:给定可选物品和限定容量,求最大价值或者最大体积。①0-1背包问题②完全背包问题。
- 本地生活服务平台(源码+文档+部署+讲解)
亥时科技
生活源代码管理数据库java开源
引言随着城市化进程的加速,本地生活服务的需求日益多样化和个性化。本地生活服务平台通过数字化手段,为社区居民提供了一个全面、便捷的服务体验,从而提升社区服务体验和生活质量。系统概述本地生活服务平台采用前后端分离的架构设计,服务端基于MySQL5.7+、JDK1.8+和Redis,前端则采用VUE2.6.14和element-ui2.15.6,并在NODE14.21.3(>=8.9)环境下运行,NPM
- C++之线程池(Thread Pool)
画个逗号给明天"
开发语言c++
1.介绍线程池是一种并发编程的设计模式,用于管理和复用多个线程。以避免频繁创建和销毁线程的开销。线程池的核心思想是预先创建一组线程,并将任务分配给这些线程执行,从而提高程序的性能和资源利用率。2.线程池的核心组件一个经典的线程池包含以下组件:(1)任务队列(TaskQueue):用于存储待执行的任务。通常是一个线程安全的队列(如queue>)。(2)工作线程(workerThreads):一组预先
- 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