- Swift 解 LeetCode 321:拼接两个数组中的最大数,贪心 + 合并全解析
文章目录摘要描述题解答案题解代码分析(Swift实现)题解代码详解maxSubArray——单调栈选最大子序列merge——合并两个数组形成最大数枚举所有组合,找最大拼接示例测试及结果示例1示例2示例3时间复杂度分析空间复杂度分析总结摘要想象你有两组数字,每组都像一个“待拼接的号码牌”。你的目标是——从中选出某几个数字,把它们拼成一个尽可能大的数。听起来是不是有点像拼接手机号,或者在广告里比大小?
- Pod调度、嵌入式脚本、Pod标签管理
yanjiaweiya
云原生kubernetes容器
多容器Pod案例3排错[root@master~]#vimweb2.yaml---kind:PodapiVersion:v1metadata:name:web2namespace:defaultspec:containers:-name:nginximage:myos:nginx-name:apacheimage:myos:httpdstatus:{}[root@master~]#kubectla
- 云原生--微服务、CICD、SaaS、PaaS、IaaS
青秋.
云原生docker云原生微服务kubernetesserverlessservice_meshci/cd
往期推荐浅学React和JSX-CSDN博客一文搞懂大数据流式计算引擎Flink【万字详解,史上最全】-CSDN博客一文入门大数据准流式计算引擎Spark【万字详解,全网最新】_大数据spark-CSDN博客目录1.云原生概念和特点2.常见云模式3.云对外提供服务的架构模式3.1IaaS(Infrastructure-as-a-Service)3.2PaaS(Platform-as-a-Servi
- Turndown 项目教程
卓桔洋
Turndown项目教程turndownAnHTMLtoMarkdownconverterwritteninJavaScript项目地址:https://gitcode.com/gh_mirrors/tu/turndown项目介绍Turndown是一个用JavaScript编写的HTML到Markdown转换器。它旨在与CommonMark规范兼容,并提供了多种选项来定制输出样式。Turndown
- HTML 语言代码
HTML语言代码引言HTML,即超文本标记语言(HyperTextMarkupLanguage),是构建网页和互联网应用的基础。自1990年发明以来,HTML一直是网页设计和开发的核心技术。本文将详细介绍HTML语言的起源、发展、基本结构、常用标签以及在实际应用中的重要性。HTML语言的起源与发展起源HTML的发明者是蒂姆·伯纳斯-李(TimBerners-Lee),他在1989年发明了万维网(W
- 字符串的模糊匹配方法介绍
超级土豆粉
前端javascripttypescripthtml
字符串的模糊匹配方法介绍目录字符串的模糊匹配方法介绍一、编辑距离(LevenshteinDistance)复杂度分析二、Jaro-Winkler距离复杂度分析三、最长公共子序列(LCS)复杂度分析四、模糊搜索(FuzzySearch)复杂度分析五、正则表达式复杂度分析六、第三方库复杂度分析总结在日常开发和数据处理中,我们经常会遇到需要判断两个字符串是否“相似”或“接近”的场景,这时就需要用到字符串
- Fuse.js 模糊匹配库用法总结
超级土豆粉
javascript开发语言ecmascript
目录Fuse.js模糊匹配库用法总结简介安装与引入基本用法1.对字符串数组进行模糊搜索2.对对象数组进行模糊搜索主要配置项(Options)进阶用法1.权重搜索(WeightedSearch)2.嵌套搜索(NestedSearch)3.扩展搜索(ExtendedSearch)4.逻辑查询(LogicalQueryOperators)5.索引优化(Indexing)6.全局配置(GlobalConf
- Day.js 基础用法全方位详解
超级土豆粉
前端技术沉淀指南javascript开发语言ecmascript
Day.js基础用法全方位详解目录Day.js基础用法全方位详解一、Day.js简介二、安装与引入1.NPM/Yarn安装2.CDN引入三、创建日期对象四、格式化日期五、解析日期(字符串转日期)六、日期运算1.加法`.add()`2.减法`.subtract()`3.支持的单位七、获取日期信息八、设置日期信息九、日期比较十、获取时间戳与原生Date十一、判断有效性与闰年十二、获取月初、月末、年初、
- 移动端turn.js挖坑总结
进击的金城武
【1】高版本的jquery会导致turning的过程中page溢出半屏。正确版本:【2】可通过css修改翻书的底部颜色及其透明度,默认为transparent。.flipbook.page{background-color:/*底部色*/}【3】在turn.js的源文件2734行通过修改x,y的值可调整peel的大小与角度。flipMethods._showFoldedPage.call(this
- 我的更新数据操作(兼容两种模式,一种是updatesoftware,一种是UpdateSoftAPI)
kingwebo'sZone
c#
1,在静态类下面写入更新文件的地址://////当前更新执行文件夹(执行更新)///publicstaticstringUpdateEXEPath=Application.StartupPath+"\\Tools\\UpdateSoftAPI\\UpdateSoftAPI.exe";//////上一次更新执行文件所在文件夹(删除)///publicstaticstringUpdateEXELast
- 在 Git 中添加子模块(submodule)的详细步骤
在Git中添加子模块(submodule)的详细步骤如下:1.添加子模块命令格式:gitsubmoduleadd[目标路径]仓库URL:子模块的Git仓库地址(HTTP/SSH均可)。目标路径(可选):子模块在主仓库中的存放路径。若省略,默认使用仓库名称作为路径。示例:gitsubmoduleaddhttps://github.com/example/thirdparty.gitlibs/thir
- StringBuilder练习项目代码及相关知识点
1.动态字符串操作需求:编写一个程序,接收用户输入的多个单词,并将它们组合成一个完整的句子,同时支持以下功能:动态添加单词删除某些单词将句子反转importjava.util.Scanner;publicclassStringBuilderDemo{publicstaticvoidmain(String[]args){StringBuildersb=newStringBuilder();Scann
- Docker后端部署
cui_hao_nan
后端技术总结docker容器运维
1、构建Docker容器首先编写Dockerfile,将后端项目打包为Docker容器镜像。Dockerfile是一个文本配置文件,包含一系列指令,用干自动化构建Docker容器镜像。我们需要在Dockerfile中定义:基础环境(比如预装JDK的Linux系统)有哪些原始文件?(比如项目源代码)如何构建项目?(比如mavenpackage命令打包)如何启动项目?(比如java-jar命令).2、
- 21.合并两个有序链表
太白IT记
算法题链表数据结构
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。思路:这里使用的主要数据结构是单链表。该算法采用经典的双指针技术来合并列表。Adummynodeiscreated;thisnodedoesnotholdanymeaningfulvaluebutservesasthestartingpointofthemergedlinkedlist.将创建一个虚拟节点;
- 存储延时数据,帮你选数据库和缓存架构
呢喃coding
系统架构设计架构
1.理解存储媒介量化延时类别描述延时缓存/内存L1cachereference1ns缓存/内存L2cachereference4ns缓存/内存Mainmemoryreference(DDR4,5-10ns为补充说明)100ns网络传输SendpacketCA->Netherlands->CA150,000,000ns(150ms)磁盘存储HDD(HardDiskDrive)读写1-10ms磁盘存储
- Web-API-day2 间歇函数setInterval与事件监听addEvenListener
码哥DFS
javascript前端
1.间歇函数setInterval(函数,间隔时间)时间单位为毫秒functionfn(){console.log('hello')}letn=setInterval(fn,1000)console.log(n)关闭间歇函数clearInterval(变量名)2.事件监听元素对象.addEvenListener('事件类型',执行函数)事件类型:鼠标事件:click(点击)、mouseenter(
- 微服务项目网关集成swagger
bbober
后端-微服务-框架微服务架构云原生
微服务项目网关中集成swagger并使用knife4j进行增强前言本文场景为:使用SpringCloud框架,MyBatisPlus持久层框架;注册中心:nacos,配置中心:nacos;主要模块有:业务模块、网关模块、common模块(共享);网关路由从配置中心动态拉取;其他情况动态调整。spring-boot-start版本:2.7.12(3版本以上只支持OpenApi3规范,差距较大)使用O
- c语言的数组注意事项
小徐敲java
c语言java开发语言
在C语言中,int()[5]和int是两种完全不同的指针类型,理解它们的区别对于正确处理数组和多维数组至关重要。下面详细解释:1:int*(指向整型的指针)含义:指向单个int类型数据的指针典型用法:inta=10;int*p=&a;//p指向一个int变量与一维数组的关系:intarr[5]={1,2,3,4,5};int*p=arr;//arr自动转换为&arr[0],类型是int*2:int
- Android逆向工具简单介绍
@ZhangJun
Android进阶Android逆向反编译反汇编Hook
目录一、Android逆向概述1、什么是Android逆向2、逆向过程3、逆向用途1)APP自动化执行程序脚本2)修改APP的功能3)APP安全二、常用逆向工具介绍1、APP抓包工具1)Fiddler2)Wireshark2、jadx反编译工具3、APKDB4、Frida之Hook工具5、IDA反汇编工具1)为何反汇编2)如何反汇编3)IDAPro的基本功能:4)IDA目录结构5)常用快捷键6)常
- Charles抓包
nee~
okhttp
charles抓包Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,response和HTTPheaders(包含cookies与caching信息)。Charles主要功能:支持SSL代理。可以截取分析SS
- stack_queue扩展学习 --- 反向迭代器
茉莉玫瑰花茶
C++反向迭代器C/C++
反向迭代器的实现思路源码及框架分析迭代器是用来遍历容器的,是一种封装,它不需要去关注容器的底层实现(底层是数组,链表,还是树等等这些结构),我们都是用统一的方式去对容器进行访问,访问行为是类似指针的。我们之前学习了普通迭代器和const迭代器:普通迭代器:能读能写;const迭代器:只能读,只能遍历数据,得到数据,不能修改数据,是不能写的。我们之前学的普通迭代器是正向迭代器,如果我想逆方向遍历呢?
- ubuntu20.04自建代码托管平台-Gitlab
HuangFJ-
VMware虚拟机ubuntulinux服务器git
介绍由于gitlab需要在linux操作系统部署,因此这篇文章涉及以下关键点1.虚拟机VMware安装ubuntu2.ubuntu修改下载源问题3.openssh、vim、net-tools等插件下载4.ubuntu下载gitlab免费版:5.gitlab相关命令6.使用浏览器访问gitlab7.初始密码/修改密码8.如何新增用户并发送邮件环境ubuntu-20.04.1-desktop-amd6
- ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
Upper999
Docker运维linuxdocker
1通过Dockerfile方式,生成镜像时报错(如下)[zxx@192~]$dockerbuild-tmy_first_build_image.[+]Building0.1s(1/1)FINISHEDdocker:default=>[internal]loadbuilddefinitionfromDockerfile0.0s=>=>transferringdockerfile:2B0.0sERRO
- 解决 ECharts 组件中多个 ID 重复问题
啃火龙果的兔子
开发DEMOjavascript开发语言
在封装ECharts组件时,如果多个组件实例使用相同的id="myChart"会导致DOM冲突,ECharts无法正确渲染。以下是几种解决方案:方案1:使用动态ID(推荐)//React示例functionMyChartComponent(){constchartId=useRef(`chart-${Math.random().toString(36).substr(2,9)}`);useEffe
- Spark运行架构
EmoGP
Sparkspark架构大数据
Spark框架的核心是一个计算引擎,整体来说,它采用了标准master-slave的结构 如下图所示,它展示了一个Spark执行时的基本结构,图形中的Driver表示master,负责管理整个集群中的作业任务调度,图形中的Executor则是slave,负责实际执行任务。由上图可以看出,对于Spark框架有两个核心组件:DriverSpark驱动器节点,用于执行Spark任务中的main方法,负
- 完全禁用缓存构建docekr镜像,使对镜像代码的变更生效
Gq.xxu
缓存javaeureka
✅正确解决方案方法一:分步执行(推荐)先禁用缓存构建镜像,再启动服务:先构建镜像(禁用缓存)dockercompose-plangfuse-chinesebuild--no-cache再启动容器dockercompose-plangfuse-chineseup-d方法二:通过up--build隐式构建(无法禁用缓存)若仍需单条命令完成,可用--build触发重新构建,但无法完全禁用缓存(仍可能复用
- 如何调用dify工作流api,代码格式如下
importrequestsimportjson#API配置api_url="http://localhost:8082/v1/workflows/run"api_key="app-6Ef8WnCL1rB4oMtvPgaLBSJy"#请求头headers={ 'Authorization':f'Bearer{api_key}', 'Content-Type':'application/json
- Docker 和 Kubernetes 入门到精通:运维工程师的实战笔记 (近5万字)
运维小贺
运维linuxdocker容器kubernetes云原生kubelet
文章目录1.Docker1.1Docker是什么?1.1.1容器服务原理1.2Docker的三大概念1.2.1镜像1.2.2容器1.2.3仓库1.2.4总结1.3Docker常用命令1.3.1镜像常用命令1.3.2容器常用命令1.4Dockerfile1.4.1commit的局限1.4.2Dockerfile是什么?1.4.3如何使用Dockerfile制作镜像?1.4.4Dockerfile中常
- Ubuntu下搜狗输入法安装记录(解决安装好后仍旧无法输入中文的问题)
主要参考为博客https://blog.csdn.net/fangshuo_light/article/details/123634224以及搜狗官方给到的安装指南https://shurufa.sogou.com/linux/guide遇到问题使用dpkg安装在搜狗官网下载的Linuxdeb安装包sudodpkg-isogoupinyin_4.2.1.145_amd64.deb此时,按照官方的安
- 【R语言】Can‘t subset elements that don‘t exist.
新子y
r语言开发语言excel
Errorin`select()`:ℹInargument:`all_of(label_col)`.Causedbyerrorin`all_of()`:!Can'tsubsetelementsthatdon'texist.✖Element`Label`doesn'texist.Run`rlang::last_trace()`toseewheretheerroroccurred.原文中文解释涉及关键
- ASM系列六 利用TreeApi 添加和移除类成员
lijingyao8206
jvm动态代理ASM字节码技术TreeAPI
同生成的做法一样,添加和移除类成员只要去修改fields和methods中的元素即可。这里我们拿一个简单的类做例子,下面这个Task类,我们来移除isNeedRemove方法,并且添加一个int 类型的addedField属性。
package asm.core;
/**
* Created by yunshen.ljy on 2015/6/
- Springmvc-权限设计
bee1314
springWebjsp
万丈高楼平地起。
权限管理对于管理系统而言已经是标配中的标配了吧,对于我等俗人更是不能免俗。同时就目前的项目状况而言,我们还不需要那么高大上的开源的解决方案,如Spring Security,Shiro。小伙伴一致决定我们还是从基本的功能迭代起来吧。
目标:
1.实现权限的管理(CRUD)
2.实现部门管理 (CRUD)
3.实现人员的管理 (CRUD)
4.实现部门和权限
- 算法竞赛入门经典(第二版)第2章习题
CrazyMizzz
c算法
2.4.1 输出技巧
#include <stdio.h>
int
main()
{
int i, n;
scanf("%d", &n);
for (i = 1; i <= n; i++)
printf("%d\n", i);
return 0;
}
习题2-2 水仙花数(daffodil
- struts2中jsp自动跳转到Action
麦田的设计者
jspwebxmlstruts2自动跳转
1、在struts2的开发中,经常需要用户点击网页后就直接跳转到一个Action,执行Action里面的方法,利用mvc分层思想执行相应操作在界面上得到动态数据。毕竟用户不可能在地址栏里输入一个Action(不是专业人士)
2、<jsp:forward page="xxx.action" /> ,这个标签可以实现跳转,page的路径是相对地址,不同与jsp和j
- php 操作webservice实例
IT独行者
PHPwebservice
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。我测试的环境为:apache2.2.11 php5.2.10做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice
//server端 serve
- Windows下使用Vagrant安装linux系统
_wy_
windowsvagrant
准备工作:
下载安装 VirtualBox :https://www.virtualbox.org/
下载安装 Vagrant :http://www.vagrantup.com/
下载需要使用的 box :
官方提供的范例:http://files.vagrantup.com/precise32.box
还可以在 http://www.vagrantbox.es/
- 更改linux的文件拥有者及用户组(chown和chgrp)
无量
clinuxchgrpchown
本文(转)
http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/
http://ydlmlh.iteye.com/blog/1435157
一、基本使用:
使用chown命令可以修改文件或目录所属的用户:
命令
- linux下抓包工具
矮蛋蛋
linux
原文地址:
http://blog.chinaunix.net/uid-23670869-id-2610683.html
tcpdump -nn -vv -X udp port 8888
上面命令是抓取udp包、端口为8888
netstat -tln 命令是用来查看linux的端口使用情况
13 . 列出所有的网络连接
lsof -i
14. 列出所有tcp 网络连接信息
l
- 我觉得mybatis是垃圾!:“每一个用mybatis的男纸,你伤不起”
alafqq
mybatis
最近看了
每一个用mybatis的男纸,你伤不起
原文地址 :http://www.iteye.com/topic/1073938
发表一下个人看法。欢迎大神拍砖;
个人一直使用的是Ibatis框架,公司对其进行过小小的改良;
最近换了公司,要使用新的框架。听说mybatis不错;就对其进行了部分的研究;
发现多了一个mapper层;个人感觉就是个dao;
- 解决java数据交换之谜
百合不是茶
数据交换
交换两个数字的方法有以下三种 ,其中第一种最常用
/*
输出最小的一个数
*/
public class jiaohuan1 {
public static void main(String[] args) {
int a =4;
int b = 3;
if(a<b){
// 第一种交换方式
int tmep =
- 渐变显示
bijian1013
JavaScript
<style type="text/css">
#wxf {
FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#97FF98);
height: 25px;
}
</style>
- 探索JUnit4扩展:断言语法assertThat
bijian1013
java单元测试assertThat
一.概述
JUnit 设计的目的就是有效地抓住编程人员写代码的意图,然后快速检查他们的代码是否与他们的意图相匹配。 JUnit 发展至今,版本不停的翻新,但是所有版本都一致致力于解决一个问题,那就是如何发现编程人员的代码意图,并且如何使得编程人员更加容易地表达他们的代码意图。JUnit 4.4 也是为了如何能够
- 【Gson三】Gson解析{"data":{"IM":["MSN","QQ","Gtalk"]}}
bit1129
gson
如何把如下简单的JSON字符串反序列化为Java的POJO对象?
{"data":{"IM":["MSN","QQ","Gtalk"]}}
下面的POJO类Model无法完成正确的解析:
import com.google.gson.Gson;
- 【Kafka九】Kafka High Level API vs. Low Level API
bit1129
kafka
1. Kafka提供了两种Consumer API
High Level Consumer API
Low Level Consumer API(Kafka诡异的称之为Simple Consumer API,实际上非常复杂)
在选用哪种Consumer API时,首先要弄清楚这两种API的工作原理,能做什么不能做什么,能做的话怎么做的以及用的时候,有哪些可能的问题
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-归并排序
bylijinnan
java
import java.util.Arrays;
public class MergeSort {
public static void main(String[] args) {
int[] a={20,1,3,8,5,9,4,25};
mergeSort(a,0,a.length-1);
System.out.println(Arrays.to
- Netty源码学习-CompositeChannelBuffer
bylijinnan
javanetty
CompositeChannelBuffer体现了Netty的“Transparent Zero Copy”
查看API(
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/buffer/package-summary.html#package_description)
可以看到,所谓“Transparent Zero Copy”是通
- Android中给Activity添加返回键
hotsunshine
Activity
// this need android:minSdkVersion="11"
getActionBar().setDisplayHomeAsUpEnabled(true);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- 静态页面传参
ctrain
静态
$(document).ready(function () {
var request = {
QueryString :
function (val) {
var uri = window.location.search;
var re = new RegExp("" + val + "=([^&?]*)", &
- Windows中查找某个目录下的所有文件中包含某个字符串的命令
daizj
windows查找某个目录下的所有文件包含某个字符串
findstr可以完成这个工作。
[html]
view plain
copy
>findstr /s /i "string" *.*
上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中查找"string&qu
- 改善程序代码质量的一些技巧
dcj3sjt126com
编程PHP重构
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。让我们看一些基本的编程技巧: 尽量保持方法简短 尽管很多人都遵
- SharedPreferences对数据的存储
dcj3sjt126com
SharedPreferences简介: &nbs
- linux复习笔记之bash shell (2) bash基础
eksliang
bashbash shell
转载请出自出处:
http://eksliang.iteye.com/blog/2104329
1.影响显示结果的语系变量(locale)
1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:
[root@localhost shell]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
- Android零碎知识总结
gqdy365
android
1、CopyOnWriteArrayList add(E) 和remove(int index)都是对新的数组进行修改和新增。所以在多线程操作时不会出现java.util.ConcurrentModificationException错误。
所以最后得出结论:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。发生修改时候做copy,新老版本分离,保证读的高
- HoverTree.Model.ArticleSelect类的作用
hvt
Web.netC#hovertreeasp.net
ArticleSelect类在命名空间HoverTree.Model中可以认为是文章查询条件类,用于存放查询文章时的条件,例如HvtId就是文章的id。HvtIsShow就是文章的显示属性,当为-1是,该条件不产生作用,当为0时,查询不公开显示的文章,当为1时查询公开显示的文章。HvtIsHome则为是否在首页显示。HoverTree系统源码完全开放,开发环境为Visual Studio 2013
- PHP 判断是否使用代理 PHP Proxy Detector
天梯梦
proxy
1. php 类
I found this class looking for something else actually but I remembered I needed some while ago something similar and I never found one. I'm sure it will help a lot of developers who try to
- apache的math库中的回归——regression(翻译)
lvdccyb
Mathapache
这个Math库,虽然不向weka那样专业的ML库,但是用户友好,易用。
多元线性回归,协方差和相关性(皮尔逊和斯皮尔曼),分布测试(假设检验,t,卡方,G),统计。
数学库中还包含,Cholesky,LU,SVD,QR,特征根分解,真不错。
基本覆盖了:线代,统计,矩阵,
最优化理论
曲线拟合
常微分方程
遗传算法(GA),
还有3维的运算。。。
- 基础数据结构和算法十三:Undirected Graphs (2)
sunwinner
Algorithm
Design pattern for graph processing.
Since we consider a large number of graph-processing algorithms, our initial design goal is to decouple our implementations from the graph representation
- 云计算平台最重要的五项技术
sumapp
云计算云平台智城云
云计算平台最重要的五项技术
1、云服务器
云服务器提供简单高效,处理能力可弹性伸缩的计算服务,支持国内领先的云计算技术和大规模分布存储技术,使您的系统更稳定、数据更安全、传输更快速、部署更灵活。
特性
机型丰富
通过高性能服务器虚拟化为云服务器,提供丰富配置类型虚拟机,极大简化数据存储、数据库搭建、web服务器搭建等工作;
仅需要几分钟,根据CP
- 《京东技术解密》有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的12月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
12月试读活动回顾:
http://webmaster.iteye.com/blog/2164754
本次技术图书试读活动获奖名单及相应作品如下:
一等奖(两名)
Microhardest:http://microhardest.ite