- java vscode跳转类定义_快速使用 vscode 进行 Java 编程
weixin_39894932
javavscode跳转类定义
任何一个程序员都有自己喜爱的编辑器、工具、开发利器,有这样一群人,对于vim这种上古神器难以驾驭、IDE又太笨重,这时候多了一个选择vscode!!!vscode重新定义了编辑器,它开源、免费、Runseverywhere,是一款介于IDE和编辑器之间的产物,我们不能用IDE的所有特性都往它身上压,如果都可以的话不就是IDE吗?不就是吗?所以用起来的感觉你懂的,美滋滋(๑•̀ㅂ•́)✧那么这家伙都
- Openeuler系统配置dns主从服务器
全国素质模范
服务器linuxcentos
一、准备两台主机,区分主从二、完全区域传送2、具体配置#安装相关的包[root@192~]#yuminstallbind-y#关闭防火墙[root@192~]#systemctlstopfirewalld[root@192~]#setenforce0#修改配置主文件[root@192~]#vim/etc/named.confoptions{listen-onport53{192.168.137.1
- 基于PyTorch的深度学习6——数据处理工具箱2
Wis4e
深度学习pytorch人工智能
torchvision有4个功能模块:model、datasets、transforms和utils。主要介绍如何使用datasets的ImageFolder处理自定义数据集,以及如何使用transforms对源数据进行预处理、增强等。下面将重点介绍transforms及ImageFolder。transforms提供了对PILImage对象和Tensor对象的常用操作。1)对PILImage的常
- CICD系列之jenkins
john137724
DEV-OPSdockerjenkins
jenkins专题安装docker&docker-compose安装jenkins编写docker-compose.yml脚本配置jenkins安装常用插件记录jenkins安装、配置、使用的常用操作linux物理机安装安装docker&docker-composedocker安装与配置安装jenkins#创建docker桥接网络dockernetworkcreatejohn-net#新建数据目录
- CICD系列之harbor
john137724
DEV-OPSharbor
镜像仓库专题安装docker&docker-compose安装harbor下载并解压安装文件修改配置文件安装、管理harbor访问harbor重点提示记录镜像仓库的常用操作。安装docker&docker-composedocker&docker-compose安装与配置安装harbor下载并解压安装文件#下载到指定目录并进入该目录wgethttps://github.com/goharbor/h
- (35)jar包中替换隔离驱动、更换新的隔离串
俺俺
lwk-note-elecidejarjava隔离串隔离驱动jdbc
jar包中替换隔离驱动、更换新的隔离串:1.更换新的隔离串:直接使用vim编辑jar包即可,将url地址跟换成:jdbc:nds://172.25.2.20:13007/v_18700_zhhq_nprod?appname=app_zhhqjyhpt2.更换隔离驱动(务必按照此方法):#新建目录tempmkdirtemp#将jar包拷贝到temp中cpxxx.jartemp/#解压jar包到当前目
- Linux vim快捷键(详细版)
可问 可问春风
Linux从新手到入门linuxvim运维
以下是Linux下Vim常用快捷键的总结,适用于大多数场景。Vim的交互模式分为正常模式、插入模式和可视模式,每个模式有不同的快捷键。掌握这些快捷键可以大幅提升你的工作效率。1.正常模式快捷键在正常模式下,你可以执行各种编辑和导航操作。快捷键功能h左移一格j下移一行k上移一行l右移一格0移动到当前行的开头$移动到当前行的末尾^移动到当前行的第一个非空白字符gg移动到文件的开头G移动到文件的末尾:进
- Hutool DateUtil 工具类用法详解:简化Java日期操作
嘵奇
提升自己java开发语言
精心整理了最新的面试资料和简历模板,有需要的可以自行获取点击前往百度网盘获取点击前往夸克网盘获取HutoolDateUtil工具类用法详解:简化Java日期操作Hutool是一个Java工具库,其DateUtil类封装了日期处理的常用操作,能够极大简化开发中对日期时间的转换、计算和格式化等需求。以下是DateUtil的核心功能及示例代码。一、快速开始引入Hutool依赖(Maven):cn.hut
- python启动多个进程_Python多进程运行两次进程?
魔法小药丸
python启动多个进程
运行下面的python3脚本,由于某种原因我无法理解startWebview函数执行了两次,结果打开了两个PyWebView窗口。#ImportModulesHereimportosimporttimeimportwebviewimportos.pathimportmultiprocessingfromdotenvimportload_dotenvfromflask_wtfimportFlaskF
- Linux云计算SRE-第十八周
晨曦启明711
linux云计算运维
1.部署3节点mongodb复制集。1、编辑mongodb节点rocky(10.0.0.160)、rocky1(10.0.0.170)、rocky2(10.0.0.180)的安装脚本。viminstall_mongodb.sh#!/bin/bash#正确定义版本变量MONGODB_VERSION=rhel80-5.0.4MONGODB_FILE=mongodb-linux-x86_64-${MON
- 在基于Arm架构的华为鲲鹏服务器上,针对openEuler 20.03 LTS操作系统, 安装Ansible 和MySQL
pyliumy
架构服务器ansible
目录安装mysql安装ansible在基于Arm架构的华为鲲鹏服务器上,针对openEuler20.03LTS操作系统,安装Ansible和MySQLarm架构上面安装一些基础的软件需要特殊的yum源我正好需要在鲲鹏服务器上安装配置MySQL和ansible两个源,所以做个分享。安装mysql【mysql】yuminstall-ywgetvimwgethttps://dev.mysql.com/g
- Linux(Centos 7.6)命令详解:vi
豆是浪个
linuxcentos运维
1.命令作用vi/vim是Linux系统内置不可或缺的文本编辑命令,vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性。2.命令语法usage:vim[arguments][file..]editspecifiedfile(s)编辑指定文件or:vim[arguments]-readtextfromstdin从标准输
- linux 配置静态ip总结
古道徒步
javalinuxtcp/ip网络
suroot//切换至特权模式,并输入密码vim/etc/sysconfig/network-scripts/ifcfg-ens33//进入网卡ens33的配置页面i//输i进入文件编辑模式(i=insert)BOOTPROTO=“static”//修改:将dhcp修改为static,修改后为BOOTPROTO=staticONBOOT=yes//修改为yes,网卡开机自启动IPADDR=“xxx
- Kubernetes_15_k8s交付jenkins并集成docker/k8s/java/maven环境
hellowordx007
Kuberneteskubernetes服务器linux
配置jenkins镜像并集成Docker环境在运维机执行[root@wwwjenkins]#pwd/opt/sortware/jenkins[root@wwwjenkins]#vimDockerfile##配置Dockerfile集成Docker环境FROMjenkins/jenkins:2.287USERrootADDkubectl/usr/bin/kubectlADDget-docker.sh
- 第一步:在ubuntu22.04.4安装freeswitch1.10.10
lxcw
Linux工作记录Freeswitchlinuxubuntu
一、环境NoLSBmodulesareavailable.DistributorID: UbuntuDescription: Ubuntu22.04.4LTSRelease: 22.04.4Codename: jammy二、依赖1、工具包aptinstall-yopenssh-servernet-toolsvimgit2、依赖库apti
- Ubuntu 新用户创建与环境配置(oh-my-zsh / oh-my-tmux / awesome-vimrc)
LutingWang
环境配置环境配置ubuntu
文章目录新用户创建git初始化zsh/oh-my-zsh切换默认shell安装oh-my-zsh配置oh-my-zsh安装插件tmux/oh-my-tmux安装oh-my-tmux配置oh-my-tmuxvim/awesome-vimrc效果图常用命令新用户创建创建用户需要首先登陆一个有root权限的账户,然后执行下面的命令。#将下方xxx替换为新用户名#e.g.exportUSERNAME=wl
- 笔记本Ubuntu系统,关上盖子不休眠设置
CheshireCat—Ruo
Ubuntuubuntulinux
1.修改logind.conf配置文件sudovim/etc/systemd/logind.conf或者sudogedit/etc/systemd/logind.conf2.复制这一行#HandleLidSwitch=suspend改为HandleLidSwitch=ignore3.重启logind服务servicesystemd-logindrestart
- ubuntu18.04 HP笔记本合上盖子不休眠不断网
ALeidy
ubuntu18.04日常ubuntu
不休眠sudovim/etc/systemd/logind.conf将其中的:#HandleLidSwitch=suspend改为:HandleLidSwitch=ignore不断网(参考博客)在/etc/systemd/sytem文件夹下打开终端,创建文件hp-keycodes.service,新建一个systemd的服务:sudogedithp-keycodes.service文件内容为:[U
- 合上笔记本屏幕 Ubuntu 20.04 不休眠
Eloudy
Linux运维ubuntulinux运维
将系统配置文件/etc/systemd/logind.conf的其中一行,改成如下所示:sudovim /etc/systemd/logind.confHandleLidSwitch=ignore重启服务:sudoservicesystemd-logindrestart或者sudosystemctlrestartsystemd-logind可以设置的参数:ignorepoweroffrebooth
- linux发送邮件结合cron
热心市民运维小孙
linux运维linux运维服务器
Linux发送邮件结合cron定时任务配置邮件发送(以QQ邮箱为例,其他同理)一、获取qq邮箱授权码登录qq邮箱进行手机验证或者令牌啥的会获取到一个授权码二、使用mailx发邮件安装软件yum-yinstallmailx编辑配置文件vim/etc/mail.rc在文件末尾添加以下内容setbsdcompat//兼容bsd风格标准
[email protected]//你的qq邮箱se
- linux指令学习--sudo apt-get install vim
派阿喵搞电子
ubuntu学习vim
1.命令分解部分含义sudo以管理员权限运行命令(需要输入用户密码)。apt-getUbuntu的包管理工具,用于安装、更新、卸载软件包。installapt-get的子命令,表示安装软件包。vim要安装的软件包名称(Vim文本编辑器)。2.作用安装Vim:Vim是一个功能强大的文本编辑器,常用于编程、配置文件编辑等任务。解决依赖:apt-get会自动安装Vim及其依赖的其他软件包。3.使用场景编
- linux 上mysql8 忘记密码
魏 无羡
mysqllinuxbashmysql
配置文件my.conf中加上一行命令打开mysqL的配置文件my.confvim/etc/my.conf增加以下命令(记得修改完之后要把这个命令注释掉)skip-grant-tables重启mysql服务(重启完之后,就可以免密码登录数据库了)servicemysqlrestart将密码先置空mysql-uroot-pusemysql;updateusersetauthentication_str
- BitMap实现用户签到、UV统计
mikey棒棒棒
javaBitMapredisUV统计
1.Redis的BitMap概述在Redis中,BitMap并非一种独立的数据结构,而是基于String类型数据结构实现的一种存储方式。由于String类型的最大上限是512M,换算成bit位就是2^32个,这决定了BitMap可操作的最大范围。BitMap非常适合用于处理大量的布尔值,能以极小的空间存储大量的标志位信息,常用于签到统计、活跃用户统计等场景。2.BitMap常用操作命令SETBIT
- yum安装mod_limitipconn模块限制客户端多线程下载
由于网站几次被人以搞并发弄跨了,所以百度了一堆方法。其中有一篇针对apache的能限制ip访问量。不允许同一ip大并发访问。安装模块#yuminstallmod_limitipconn.x86_64-y配置文件#ll/etc/httpd/conf.d/total16-rw-r--r--1rootroot475Dec112008limitipconn.conf可直接在网站内做如下设置#vim/etc
- Vim 的基本操作和常用命令
qq_43167806
vim
1.模式切换Vim主要有三种模式:普通模式、插入模式、命令模式。普通模式:打开文件后默认进入普通模式,常用于浏览和编辑文本。插入模式:可以输入文本的模式。按i、a、o等进入插入模式,按Esc键返回普通模式。命令模式:用于执行保存、退出等命令。按:进入命令模式。2.打开和退出Vim打开文件:vimfilename保存并退出:ZZ或:wq只保存::w只退出::q强制退出(不保存修改)::q!3.移动光
- Vim复制内容到系统剪切板
zeandon
vim
参考链接【Vim】Vim中将文件内容复制到系统剪切板的方法_vi复制到系统剪贴板-CSDN博客[转]vim如何复制到系统剪贴板-biiigwang-博客园1.确定Vim是否支持复制到系统剪切板输入命令vim--version|grepclipboard如果是+开头,说明支持系统剪切板;-开头则不支持,需要更新Vim更新Vim更新Vim使其支持系统剪切板-CSDN博客2.进行操作参考链接:[转]vi
- Vim常用命令备忘
assaper
vim编辑器linux
文章目录一、Vim支持模式二、Vim常用命令1.光标移动2.文本操作3.查找置换4.保存退出5.多文件编辑6.多窗口编辑7.多标签编辑8.目录操作9.运行命令10.可视化操作11.其他命令一、Vim支持模式普通模式:打开文件时的默认模式,在其他模式下按Esc键都可返回到该模式。插入模式:在普通模式下按i/a/o键进入该模式,进行文本编辑操作。命令行模式:在普通模式下输入:后会进入该模式,在该模式下
- linux | Vim 命令快捷操作
斐夷所非
LinuxlinuxVim
注:本文为过去的“vim使用笔记”。跳转命令跳转命令#:向前查找光标当前所在单词,并跳转到该单词的上一个出现位置。*:向后查找光标当前所在单词,并跳转到该单词的下一个出现位置。行内跳转0:跳转到当前行的行首。[Home]$:跳转到当前行的行尾。[End]^:跳转到当前行的第一个非空字符处。g_:跳转到行尾最后一个非空白字符。|n:跳转到当前行的第n列(例如:|10跳转到第10列)。文件内跳转gg:
- Vim常用命令汇总
高校知识店铺合集汇总
vim编辑器linux
1.文本删除1.1删除光标所在行:dd1.2删除以当前行开始的n行:ndd1.3删除以当前字符开始的一个word:dw1.4删至行尾:d$1.5删除至行首:d0(数字0)1.6删除光标后的字符:x(小写)1.7删除光标前的字符:X(大写)或者退格键1.8删除输入方式下所输入的文本:ctrl+u2.文本插入2.1在光标前:i2.2在当前行首:I2.3在光标后:a2.4在当前行尾:A2.5在当前行之下
- KVM常用操作命令示例
少儿频道
linux基础linux服务器运维kvm
系列文章目录kvm创建虚拟机文章目录系列文章目录一、virsh常用命令二、快照命令1、创建快照2、查看快照列表3、删除快照4、还原快照5、查看KVM虚拟机当前使用的快照三、克隆命令1、完整克隆kytest02,-o后面是旧名字,-n后面是新的虚拟机的名字2、手动克隆3、链接克隆四、存储管理命令1、列出所有存储池2、启动存储池3、关闭存储池4、创建存储池4.1、基于目录创建存储池,在本地创建一个测试
- 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