- 记一次命令行启动springboot项目的问题 java -jar的问题
張葒兵
javaspringbootjar
错误的写法java-jarruoyi-admin.jar-Dloader.path=.\lib正确的写法java-Dloader.path=./lib-jarruoyi-admin.jar或者java-jar-Dloader.path=./libruoyi-admin.jar-Dloader.path必须卸载-jarruoyi-admin.jar之前,其实我试过了-Dloader.path命令只要
- Spring Boot 2.0 的快速入门(图文教程)
weixin_43770982
javaSpring职场SpringBootSpringjava
SpringBoot2.0的快速入门(图文教程)大家都知道,SpringFramework是Java/Spring应用程序跨平台开发框架,也是JavaEE(JavaEnterpriseEdition)轻量级框架,其Spring平台为Java开发者提供了全面的基础设施支持。虽然Spring基础组件的代码是轻量级,但其配置依旧是重量级的。那是怎么解决了呢?当然是SpringBoot,SpringBoo
- Param ‘serviceName‘ is illegal, serviceName is blank
wyz0923
nacosspringboot
背景有个朋友在学习nacos遇到一个问题,在bootstrap.yml文件中配置注册服务的地址信息时,启动服务报错:Param‘serviceName’isillegal,serviceNameisblank。但是在application.yml中配置就不会报错。这里记录一下解决的方法。项目环境:springboot2.4.2spring-cloud-alibaba-dependencies202
- FIN246 Evaluate the BestWallet
后端
ASSIGNMENT2FIN246Spring2025DUE:Monday,March3thatthebeginningofclass(3:25pmEST)Usingthelast4digitsofyourstudentnumber,lookupBitcoinblock820000+last4digitsofyourid(Example,ifthelast4digitsare1234,lookup
- 【六袆- Java】从数据库读取菜单,递归生成菜单树;SpringBoot 动态生成菜单树;SpringBoot操作数据库,动态生成菜单左侧栏;
鞠崽23333
后端开发技术相关#SpringbootMysql技术相关
1.第一种菜单树结构packagecom.xiaolh.dao.util;importcom.xiaolh.dao.model.MenuTree;importjava.util.ArrayList;importjava.util.List;/****TSysPower树工具类***@author:xiaolh*@email:
[email protected]*@createTime:2021/3/160
- Spring Boot2 系列教程(二十六)Spring Boot 整合 Redis
吕123
springbootredisbootstrap后端java
在Redis出现之前,我们的缓存框架各种各样,有了Redis,缓存方案基本上都统一了,关于Redis,松哥之前有一个系列教程,尚不了解Redis的小伙伴可以参考这个教程:Redis教程合集使用Java操作Redis的方案很多,Jedis是目前较为流行的一种方案,除了Jedis,还有很多其他解决方案,如下:除了这些方案之外,还有一个使用也相当多的方案,就是SpringDataRedis。在传统的SS
- 系统设计:扫码登录流程,5个流程图告诉你!
试着奔跑的菜鸟
系统设计系统设计
背景说明扫码登陆是我们在各种应用系统中最常见的逻辑之一,即使是公司后端系统也非常常见,例如我们的系统与企业微信进行绑定,需要用户扫描后自动登陆自己的工号进入系统。操作流程系统执行流程为了更加便于说明和理解,我们将扫码登陆的流程分为两大部分进行阐述前端处理流程请求二维码流程判断二维码的状态跳转登录后端处理流程生成二维码流程确认登陆流程流程图说明前端处理流程:扫码的前提是手机端已经登陆了账号前端(PC
- springboot整合shiro和redis(超详细案例演示)
一个K。
springbootredis后端mybatismysqlideajava
目录前言一、SpringBoot、Redis和Shiro是什么?二、使用步骤1.引入相关的依赖2、准备好相应的数据库3、搭建出项目框架(1)config层1、shiroconfig(2)controller控制层1、LoginController类2、UserController类(3)dao层1、UserDao2、PermissionDao(4)entity实体类1、User2、Permissi
- 面试基础---Spring Cloud微服务负载均衡架构
WeiLai1112
后端架构面试springcloudspringbootspring分布式后端
深度解析SpringCloud微服务负载均衡架构(Ribbon/SpringCloudLoadBalancer)一、微服务负载均衡核心架构图选择目标实例选择目标实例选择目标实例服务消费者负载均衡器服务实例1服务实例2服务实例3处理请求二、Ribbon核心实现原理2.1Ribbon架构分层1.获取服务列表2.注册列表3.选择算法4.目标实例服务消费者服务发现RibbonILoadBalancerIR
- 面试基础--- Spring 事务传播机制底层实现原理
WeiLai1112
后端面试springjava爬虫后端架构分布式
深度解析Spring事务传播机制底层实现原理一、事务传播机制的本质与价值是否调用Transactional方法是否存在事务根据传播级别处理现有事务根据传播级别创建新事务挂起/加入/抛出异常等新建Connection/设置隔离级别等在分布式系统架构中,事务传播机制是保证业务一致性的核心机制。Spring通过TransactionInterceptor和TransactionAspectSupport
- 面试基础--Spring Boot启动流程及源码实现
WeiLai1112
后端面试springbootjava架构分布式后端
深度解析SpringBoot启动流程及源码实现一、SpringBoot启动全景图(含核心阶段)SpringApplication构造Run方法入口初始化事件监听器准备环境配置创建应用上下文准备上下文刷新上下文执行Runners二、源码级启动流程拆解2.1SpringApplication初始化//源码定位:SpringApplication.javapublicSpringApplication(
- CRUD是如何挤进大厂的?简历-面试题-技术总结 一步步努力,springboot环境搭建教程
1024创新开发
程序员面试后端java
常见的简历会这么写,“负责订单系统开发,实现订单创建、查询、列表等功能,使用技术:Spring、Mybatis……”。如果我是面试官,我的印象是你写过一些CRUD项目,这很难通过大厂的简历关。那该怎么写的呢?比如:“负责订单系统核心模块开发(Task),主导设计订单系统数据库表结构,设计以会员为维度的分库方案,设计并开发订单列表及明细缓存方案(Action),支撑订单每日X万级查询请求(Resul
- 对于springboot运行时序 和class 文件运行时序的一些思考
大丈夫在世当日食一鲲
java
一、SpringBoot运行时序的核心流程启动准备阶段核心入口为SpringApplication类的静态run方法,通过构造函数初始化时完成环境类型推断(如Web环境)、加载ApplicationContextInitializer和ApplicationListener。关键动作:通过SpringFactoriesLoader加载META-INF/spring.factories中的扩展点实现
- SpringBoot启动端口配置
走在时光柱上的程序员
Javahttpsspringboot
###serverserver:port:443###端口配置,如果是https,80端口要配置成433address:0.0.0.0###服务地址,0.0.0.0表示内外网都可以访问,如果不配置Adress,端口可能不会生效servlet:context-path:/###url根路径tomcat:uri-encoding:UTF-8###编码ssl:###https配置protocol:TLS
- 如何在Spring Boot > 2.2.0.RELEASE版本中配置以支持IE8缓存静态资源?
人工智能
在SpringBoot版本大于2.2.0.RELEASE中配置以支持IE8缓存静态资源需要进行一些特定的设置,因为默认情况下,SpringBoot可能会添加一些缓存控制的响应头,这些响应头可能不利于老版本的浏览器如IE8。以下是一种解决方法:配置静态资源处理器:在你的SpringBoot应用中,通常会有一个配置类,用来配置静态资源处理器。你可以扩展WebMvcConfigurer接口来配置静态资源
- springboot端口指定无效
web18334137065
java
今天需要启动两个项目来调试各自的功能,结果因为springboot的默认端口占用导致不能同时启动。尝试修改application.yml的server.port配置之后还是无效后来才知道,server.port只能针对tomcat的服务器,如果是jetty的服务器,需要修改web的maven文件,在jettyplugin(org.eclipse.jetty)中添加。8089才可以成功。在此记录一下
- 配置Spring Boot应用程序端口的几种方式
华戈息息
书:《SpringBoot实战派》
如果不对端口进行配置,则springboo会启用默认的8080端口。如果想自定义端口,则有以下几种方式可以配置。方式一:通过配置文件使用配置文件是最常用的,这里以properties为例,yml的方式也一样,则可以在/src/main/resources/下的application.properties文件中加入配置项,如下面代码是配置8090端口:server.port=8090如果要配置spr
- 蓝易云 - 浅谈Spring与字节码生成技术
蓝易云
spring数据库java网络协议网络运维服务器
Spring是一个开源的Java应用框架,用于构建企业级应用程序。它提供了许多功能,包括依赖注入、面向切面编程、事务管理等,以简化开发过程。字节码生成技术是Spring框架中的一个重要组成部分,用于在运行时创建和修改Java类的字节码。Spring利用字节码生成技术来实现以下功能:1.依赖注入(DependencyInjection):Spring使用字节码生成技术创建代理类,将依赖注入到目标对象
- SpringBoot3核心特性-基础特性
蓝影铁哥
java数据库androidspringboot面试开发语言
目录传送门前言一、SpringApplication1、自定义banner2、自定义SpringApplication3、FluentBuilderAPI二、Profiles1、使用1.1、指定环境1.2、环境激活1.3、环境包含2、Profile分组3、Profile配置文件三、外部化配置1、配置优先级2、外部配置3、导入配置4、属性占位符四、单元测试-JUnit51、整合2、测试2.1、组件测
- SpringBoot 多环境配置
呆萌很
springbootspringboot
多环境配置是一个常见的需求,通常用于区分开发、测试和生产等不同环境的配置。1.使用application-{profile}.properties或application-{profile}.yml在src/main/resources目录下创建多个配置文件,文件名格式为application-{profile}.properties或application-{profile}.yml,其中{pr
- springboot整合swagger
小萌新上大分
框架学习springboot后端javaSwaggerSwagger依赖API自动生成Swagger配置类
SwaggerSwagger是一种基于OpenAPI规范的API文档生成工具,它可以根据Java代码中的注解自动生成API接口文档,并提供UI界面进行在线测试和调试。Swagger为开发人员提供了更加方便、直观的API管理方式,有助于提升API的可读性和可维护性。Swagger的主要特点包括:1、自动生成API文档:通过在Java代码中添加Swagger注解,Swagger能够自动地解析API接口
- SpringBoot四大核心特性(四)
lihaiyang_sz
actuatorSpringBoot包括许多附加特性,帮助您在将应用程序推向生产环境时监视和管理应用程序。您可以选择通过使用HTTP端点或使用JMX来管理和监视应用程序。审计、运行状况和指标收集也可以自动应用于应用程序。SpringBootActuator的关键特性是在应用程序里提供众多Web端点,通过它们了解应用程序运行时的内部状况。有了Actuator,你可以知道Bean在Spring应用程序
- SpringBoot | 详解SpringBoot配置文件及其原理
荆州克莱
面试题汇总与解析技术css3springcloudspringbootspring
一、配置文件springboot使用一个全局的配置文件,配置文件名是固定的,一般有两种写法:application.propertiesapplication.yml配置文件的作用:SpringBoot在底层都给我们自动配置了,而配置文件的作用就是修改SpringBoot自动配置的默认值。之前的配置文件,都是使用的xml文件格式,但是YAML也可以做配置文件,YAML是以数据为中心,比JSON、X
- Rust和Springboot 开发开发一款家庭菜谱日日新App
Geeker-2025
rustspringboot
开发一款家庭菜谱日日新App,结合Rust和SpringBoot的优势,可以构建一个高性能、可扩展且功能丰富的应用。以下是一个高层次的设计概述,涵盖主要的技术栈和功能模块,并提供使用Rust和SpringBoot联合开发的示例。##技术栈概述###前端-**语言**:JavaScript(ReactNative或Flutter,用于跨平台移动应用开发)-**功能**:用户界面、交互逻辑、菜谱展示、
- 【SpringBoot】 配置文件的拆分
2301_78399805
程序员springboot后端java
profiles:active:devserver:port:8080#生产和测试为同一个端口生产配置文件:application-pord.ymlserver:servlet:context-path:/cmfz测试配置文件:application-dev.ymlserver:servlet:context-path:/springbootyml多文档块方式server:port:8081spr
- 责任链模式详解和在Spring Boot 项目中的使用场景
冰糖心书房
设计模式Java开发责任链模式springbootjava
责任链模式详解1.定义:责任链模式(ChainofResponsibilityPattern)是一种行为型设计模式。它将请求的发送者和接收者解耦,允许你将请求沿着处理者链进行传递,直到有一个处理者处理它为止。每个处理者都包含对下一个处理者的引用,形成一条链。2.结构:Handler(抽象处理者):定义一个处理请求的接口,并维护一个指向下一个处理者的引用。ConcreteHandler(具体处理者)
- ApplicationContext 的启动流程是怎样的?
冰糖心书房
2025Java面试系列SpringFrameworkspring
ApplicationContext是SpringIoC容器的核心接口,它提供了配置、访问和管理Bean的功能。ApplicationContext的启动流程可以细分为以下几个关键步骤,这些步骤主要在AbstractApplicationContext类的refresh()方法中实现:1.prepareRefresh()-准备刷新:设置启动时间戳。设置容器的激活状态。初始化属性源(property
- Spring Cloud LoadBalancer详解
10年JAVA大数据技术研究者
微服务springcloudjavaspringLoadBalancer源码解析
一、介绍SpringCloudLoadBalancer是SpringCloud官方自己提供的客户端负载均衡器,抽象和实现,用来替代Ribbon(已经停更),二、Ribbon和Loadbalance对比组件组件提供的负载策略支持负载的客户端Ribbon随机RandomRule轮询RoundRobinRule重试RetryRule最低并发BestAvailableRule可用过滤Availabilit
- Java必知必会系列:RESTful API与Web服务
AI天才研究院
AI实战DeepSeekR1&大数据AI人工智能大模型Python实战大数据人工智能语言模型JavaPython架构设计
文章目录1.背景介绍RESTfulAPI与Web服务什么是RESTful?为什么要用RESTfulAPI?Web服务架构1.客户端–服务器体系结构2.无状态3.明确的角色4.使用合适的HTTP方法5.支持缓存6.使用链接关系代替非自描述信息7.异步处理RESTfulAPI框架SpringMVCRubyonRailsDjangoRestFramework如何利用框架开发RESTfulAPI创建项目创
- 基于JavaWeb开发的Java+SpringBoot+vue+element实现前后端分离玩具商城系统
网顺技术团队
成品程序项目springboot开发语言课程设计javavue.js
基于JavaWeb开发的Java+SpringBoot+vue+element实现前后端分离玩具商城系统作者主页网顺技术团队欢迎点赞收藏⭐留言文末获取源码联系方式查看下方微信号获取联系方式承接各种定制系统精彩系列推荐精彩专栏推荐订阅不然下次找不到哟Java毕设项目精品实战案例《1000套》感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人文章
- 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