- scikit-learn安装
梁伟静
scikit-learnpython
问题:importscikit-learn时遇到如下报错:ImportError:DLLloadfailedwhileimporting_arpack:Thespecifiedprocedurecouldnotbefound.可能原因:python、numpy、scipy和scikit-learn之间的版本出现冲突解决方案:1)卸载numpy、scipy、scikit-learncondaunin
- python中函数的定义
xuwentao!!
python
python内部中函数一般定义的方式是:deffunc(a,*args,**kwargs):pass所以在外面调用的时候需要小心的,如果有字典对象传进去需要注意func(a,dict)会报错的,函数会把这个dict当作一个元祖来处理了,但是你想传入字典,所以这里需要解包处理,让函数明白你传入的是一个字典:func(a,**dict)所以在调用函数的时候需要想想是否需要解包处理
- WIN7 嵌入式系统安装教程 Windows Embedded Standard 2011 安装
毛毛虫的爹
WindowsPE-嵌入式
轻松构建你的第一个WindowsEmbeddedStandard2011镜像。通过本文你可以快速掌握如何使用WindowsEmbeddedStandard2011CTP1来构建一个镜像。注意:本文不包含对Toolkit介绍。本文适用的软件版本:
- TypeScript and Serverless Memory Issue
magic_dreamer
SummaryScriptsserverlessjavascriptwebpackViewUI
TypeScriptandServerlessMemoryIssueChangethefiletoaddthefollowcodesatthetop/opt/node/lib/node_modules/serverless/bin/serverless#!/usr/bin/envnode--max-old-space-size=3000--trace-gc-verboseJavaScripthea
- hyper-v 服务,hyper-v 服务的功能
hyper-v
随着客户群体的不断扩大,批量管理犹如客户关系管理的贴心助手,维系着与每一位客户的良好关系。今天小编要讲解hyper-v服务的功能。Hyper-V服务是微软开发的一款功能强大的虚拟化技术,主要用于在Windows操作系统上创建和管理虚拟机。以下是Hyper-V服务的主要功能:1.虚拟机管理:Hyper-V允许用户在单一物理服务器上运行多个虚拟机,每个虚拟机可以运行不同的操作系统,如Windows、L
- Windows系统安装Docker环境详细教程
江湖有缘
Docker小白快速入门windowsdocker容器
Windows系统安装Docker详细教程一、相关名词解释1.1WSL2简介1.2WSL安装版本要求1.3Docker简介二、本次实践介绍三、启用虚拟机功能3.1打开以PowerShell3.2开启虚拟化四、安装DockerDesktop工具4.1下载DockerDesktop4.2安装DockerDesktop4.3重启系统4.4接受协议4.5安装设置工作4.6进入DockerDesktop主界
- python之函数的定义
徐jiankang
python基础日常总结python开发语言
博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。目录一、背景二、函数的定义三、参考四、总结一、背景 实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代
- 关于网络标准协会
hailuoing
1.IETF互联网工程任务组(InternetEngineeringTaskForce,IETF)负责互联网标准的开发和推动IETF由互联网结构委员会(InternetArchitectureBoard,IAB)监督,IAB向互联网协会(InternetSociety,ISOC)负责。现任IETF主席是BrianCarpenter。相关机构:互联网协会(ISOC-InternetSociety)I
- Serverless Plugin Optimize 使用指南
舒林艾Natalie
ServerlessPluginOptimize使用指南serverless-plugin-optimize⛔️DEPRECATED⛔️BundlewithBrowserify,transpileandminifywithBabelautomaticallytoyourNodeJSruntimecompatibleJavaScript项目地址:https://gitcode.com/gh_mirr
- 项目推荐:Serverless优化插件 —— 提升您的云函数性能与效率
井队湛Heath
项目推荐:Serverless优化插件——提升您的云函数性能与效率serverless-plugin-optimize⛔️DEPRECATED⛔️BundlewithBrowserify,transpileandminifywithBabelautomaticallytoyourNodeJSruntimecompatibleJavaScript项目地址:https://gitcode.com/gh
- Oracle备份恢复之闪回技术,熬夜爆肝总结,强烈建议收藏
2401_86401365
oracle数据库
10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTON##利用SCN查询14:35:31SCOTT@PROD>select*fromt_fb_query1asofSCN1070729;DEPTNODNAMELOC10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPE
- Docker Desktop 在Windows 环境中开发、测试和运行容器化的应用程序
jcsx
dockerdockerwindows容器
Docker为Windows提供了专门的桌面版工具,称为DockerDesktop,它允许你在Windows环境中开发、测试和运行容器化的应用程序。如何在Windows上使用DockerDockerDesktopDockerDesktop是一个专为Windows设计的应用程序,它简化了在Windows上安装和管理Docker的过程。DockerDesktop支持Windows10和Windows1
- Pywinauto 快速学习指南
口_天_光健
microsoftpythonwindows自动化
Pywinauto技术指南一、基础概念(一)控件(Widgets)在Windows应用程序中,控件是用户界面的基本组成部分,如按钮、文本框、下拉列表等。Pywinauto提供了方法来识别和操作这些控件。(二)应用程序(Applications)代表正在运行的Windows应用程序。可以使用Pywinauto启动、连接和操作应用程序。(三)窗口(Windows)应用程序中的窗口是用户与之交互的界面。
- 咱们继续学Java——高级篇 第二百五十五篇:之Java进阶之本地方法:Windows注册表访问代码的终极解读
一杯年华@编程空间
咱们继续学java高级篇mavenjava-eespringbootspringcloudhibernatetomcat
咱们继续学Java——高级篇第二百五十五篇:之Java进阶之本地方法:Windows注册表访问代码的终极解读在Java学习的道路上,我们不断追求代码理解的深度,每一次对复杂代码的终极解读都是成长的重要里程碑。我写这篇博客的目的,就是希望与大家一同深入剖析Java本地方法中访问Windows注册表的剩余关键代码,助力大家在Java与其他语言交互编程领域掌握最核心的技能。今天,我们将详细解读Win32
- vue3实际开发bug解决
我爱加班、、
前端开发遇到的问题vue项目实际开发中的bugbug前端javascript
index.vue:119Uncaught(inpromise)TypeError:Cannotcreateproperty'value'onstring'我是标题'问题分析:问题出在componentName的解构和赋值操作上。你尝试将一个字符串赋值给ref的.value属性,这导致了错误。ref是Vue3中用于响应式引用的工具,它返回一个对象,该对象的.value属性用于存储实际的值。解决:不
- MySQL 拆分字符串函数Split
大乔乔布斯
mysql数据库
MYSQL目前没有Hive或者Java。python这列直接split的函数,需要自己定义一个,复制代码,一键使用CREATEDEFINER=`root`@`localhost`FUNCTION`func_split_str`(xVARCHAR(255),--字符串delimVARCHAR(12),--分隔符posINT--按分隔浮拆分后的第几个结果,从1开始数)RETURNSvarchar(25
- Vue3笔记——(五)路由
木子李BLOG
vue.js
组件通信_方式1_props作用:若父传子,属性值是飞函数若子传父,属性值是函数Parent.vue父组件汽车:{{car}}子给的玩具:{{toy}}importChildfrom'./Child.vue'import{ref}from'vue'//数据letcar=ref('奔驰')lettoy=ref('')letbb=ref(0)//方法functiongetToy(value:strin
- 深度解析 Git 的使用:版本控制的核心工具
qq_39279448
git
1.Git的基本概念1.1什么是版本控制?版本控制系统(VersionControlSystem,VCS)是一种用于记录文件内容变更历史的工具。多人开发者可以在不同的时间编辑同一个文件,而不必担心覆盖或丢失他人的修改。Git作为一种分布式版本控制系统,允许开发者在本地操作代码的同时,确保所有更改都可以被追踪和协同。1.2分布式与集中式的差异集中式版本控制(例如SVN):所有代码和版本信息都存储在中
- Hibernate和Spring Data JPA
打伞的木头人
什么是JavaPersistenceAPI?JavaPersistenceAPI提供了一个规范,用于将数据通过Java对象持久化、读取和管理到数据库中的关系表。JPA是JavaPersistenceAPI的简称,中文名Java持久层API,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPAORM规范出于两个原因:其一,简化现有JavaE
- 全网最最实用--教你用gradio搭网页、部署模型等(代码粘贴即用、不讲虚的)
绒绒毛毛雨
大模型算法microsoft前端语言模型人工智能ai
文章目录〇前言一、构建网页1.各个组件介绍a.文本输入和输出b.图像输入和输出c.音频输入和输出d.视频输入和输出e.文件上传和下载f.滑块(`Slider`)g.单选按钮(`Radio`)h.复选框(`CheckboxGroup`)j.数据表格(`Dataframe`)2.一个网页示例代码a.按钮使用指南(事件处理和回调)3.整个网页代码b.整个网页展示二、构建ai任务a.构建一个自己的大语言模
- Qt C++设计模式->桥接模式
多喝热水-多读书
c++设计模式桥接模式qt
桥接模式简介桥接模式(BridgePattern)是一种结构型设计模式,它将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式通过组合的方式来代替继承,使得系统可以在多个维度上独立变化。它非常适合用于需要在多个层次上扩展和变化的场景。桥接模式的应用场景假设你在开发一个跨平台的Qt应用程序,需要处理不同类型的设备(比如手机、平板、PC),并且还需要支持不同的操作系统(比如Windows、M
- JAVA导入包
aqr95022
java
在package**;下面写入importjava.**.**;1.使用Scanner工具类来获取用户输入的成绩信息Scanner类位于java.util包中,使用时需要导入此包1.1.导入java.util.Scancerimportjava.util.Scanner;1.2.创建Scanner对象Scannerinput=newScanner(System.in);//System.in为指定
- 龙珠训练营机器学习task04
a_little_pig_
python
学习笔记为阿里云天池龙珠计划机器学习训练营的学习内容,学习链接为:https://tianchi.aliyun.com/competition/entrance/231702/introduction?spm=5176.20222472.J_3678908510.8.8f5e67c2RKrT98总体思路:分别使用LightGBM,xgboost,gbdt,catboost建立多个个体学习器(加入b
- 蓝桥杯嵌入式历年省赛真题
计算机小混子
单片机蓝桥杯职场和发展
蓝桥杯嵌入式历年省赛真题目前是第六到十二届真题,还剩第十三和第十四届的题目,由于最近一下做了很多套,最后两套等考前复习时做很多套路是固定,使用STM32G431开发板蓝桥杯嵌入式第六届真题—电压测量监控系统蓝桥杯嵌入式第七届真题–模拟液位检测告警系统蓝桥杯嵌入式第八届真题–模拟升降控制器蓝桥杯嵌入式第九届真题–电子定时器蓝桥杯嵌入式第十届真题–电压检测系统蓝桥杯嵌入式第十一届真题蓝桥杯嵌入式第十二
- “大模型横扫千军”背后的大数据挖掘--浅谈MapReduce
绒绒毛毛雨
大数据挖掘数据挖掘mapreduce人工智能
文章目录O背景知识1数据挖掘2邦费罗尼原则3TF.IDF4哈希函数5分布式文件系统一、MapReduce基本介绍1.Map任务2.按键分组3.Reduce任务4.节点失效处理5.小测验:在一个大型语料库上有100个map任务和若干reduce任务:二、基于MapReduce的基本运算1.选择(Selection)2.交(Intersection)3.并(Union)4.补(Difference)5
- 一、初识操作系统【Lite OS】
阿猿先森
华为LiteOS物联网操作系统iotosiot
一、为什么要用操作系统从裸机到操作系统是必然发展路线(1)发展阶段1:裸机并且全部代码自写(2)发展阶段2:裸机但调用库函数(3)发展阶段3:裸机加状态机实现简单的多任务(4)发展阶段4:上简单操作系统:RTOS(ucos、LiteoS)(5)发展阶段5:上复杂操作系统:Linux、Windows、Android二、用操作系统的优势(1)轻松实现多任务(2)轻松借用很多第三方组件功能(3)更好实现
- golang-实现自己的事件驱动
小屋子大侠
服务端golang
golang实现自己的事件驱动众所周知,go中的异步操作都已经封装在了运行时的过程中,有关socket的网络的异步操作都封装到了go的netpoll中,从而简化了编程形式。本文也就根据evio库总结而来。golang跨平台库如何编写golang的跨平台库,现在主流的方式如下:evserver│go.mod│main.go│└───show││show.go││show_darwin.go││sho
- Jira用例自动去除summary重复用例
吾爱乐享
wwww.fen
title:Jira用例自动去除summary重复用例tags:-jira-pythoncategories:-python一、背景与需求二、解决方案思路三、实施步骤本文永久更新地址:在使用Jira进行项目管理时,测试用例的维护至关重要。随着项目推进,用例数量增多,可能会出现summary重复的情况,手动排查费时费力,因此实现自动去除重复用例功能意义重大。一、背景与需求项目团队在Jira中积累了大
- 【C语言】预处理详解
星霜旅人
c语言
他们想要逃避工作的压迫,却又被功绩社会深植的价值观绑架。预定义符号1.C语言设置了⼀些预定义符号,可以直接使用,预定义符号也是在预处理期间处理的。1__FILE__//进⾏编译的源⽂件2__LINE__//⽂件当前的⾏号3__DATE__//⽂件被编译的⽇期4__TIME__//⽂件被编译的时间5__STDC__//如果编译器遵循ANSIC,其值为1,否则未定义#includeintmain(){
- 【C++】初学者的浪漫编程指南
星霜旅人
C++c++
少年不惧岁月长,彼方尚有荣光在。前言这是我自己学习C++的第一篇博客总结。后期我会继续把C++学习笔记开源至博客上。C++的兼容性1.C++兼容绝大多数C语言的语法,因此只需要把.c后缀文件改为.cpp即可。2.VS编译器看到是.cpp就会调用C++编译器编译。#define_CRT_SECURE_NO_WARNINGS#includeintmain(){printf("helloworld\n"
- 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