- PHP语言基础
一.PHP介绍1.什么是PHPPHP是超文本预处理器。是运行在服务端的开源语言,它可以让Web开发人员快速的书写生成动态的页面。--->PHP是服务端语言(后端)语言HTML+JS为前端语言:主要用来对页面的布局,动态美化PHP,JAVA,Python为后端语言:用来实现业务逻辑功能,一般不做美化2.PHP作用(1)PHP可以生成动态页面(2)PHP可以用来接收于发送Cookies值(3)PHP可
- 新手向:IDM下载失败排查
超级小识
基础环境配置idm服务器运维
IDM下载失败系统排查指南基础问题排查网络连接检查首先确认您的设备已连接到互联网尝试访问目标网站确认网络是否正常检查防火墙设置是否阻止了IDM的网络访问IDM基本配置验证确保IDM处于最新版本(帮助>检查更新)检查下载保存路径是否有写入权限确认浏览器集成已正确安装(工具>选项>常规)常见错误代码处理403错误:通常表示服务器拒绝访问,可尝试:清除浏览器Cookies更换下载链接使用IDM内置浏览器
- 本地存储(Local Storage)、会话存储(Session Storage)、IndexedDB 和 Cookies 区别及抗清除能力
郭靖8
html5
本地存储(LocalStorage)、会话存储(SessionStorage)、IndexedDB和Cookies是前端开发中常用的客户端存储技术,它们在用途、生命周期、容量和特性上有显著区别。以下是它们的详细对比:1.本地存储(LocalStorage)特点:持久性:数据永久存储,除非手动清除(通过代码或浏览器设置)。作用域:同一域名下的所有页面共享数据。容量:约5MB(不同浏览器可能略有差异)
- 万思乐学v-learn小西妈双语工程1708期133号coco2018-12-27
颜小彦_d20b
音频:《Pulltherope》《Charlieoverthesea》《Whostolethecookiesfromthecookiejar?》游戏&应用:1.FunatschoolWejumpatschool.Wemakepuppetsatschool.图片发自App图片发自App图片发自App2.清汉第三册课后练习3.《Hicorydicorydock》图片发自App图片发自App4.Cloc
- python+playwright 学习-91 cookies的获取保存删除相关操作
上海-悠悠
playwrightpython
前言playwright可以获取浏览器缓存的cookie信息,可以将这些cookies信息保存到本地,还可以加载本地cookies。获取cookies相关操作在登录前和登录后分别打印cookies信息,对比查看是否获取成功。fromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:browser=p.chromium.
- python request 获取cookies value值的方法
dianqianwei8752
pythonc/c++
importrequestsres=requests.get(url)cookies=requests.utils.dict_from_cookiejar(res.cookies)print(cookies[key])转载于:https://www.cnblogs.com/VseYoung/p/python_cookies.html
- python爬虫从入门到精通
大模型猫叔
python爬虫数据库
目录一、正确认识Python爬虫二、了解爬虫的本质1.熟悉Python编程2.了解HTML3.了解网络爬虫的基本原理4.学习使用Python爬虫库三、了解非结构化数据的存储1.本地文件2.数据库四、掌握各种技巧,应对特殊网站的反爬措施1.User-Agent2.Cookies3.IP代理五、学习爬虫框架,搭建工程化的爬虫1.创建Scrapy项目2.创建Spider3.编写Spider4.运行Spi
- Fetch.js
pilakuma
import*ashelperfrom'./helper.js'importCookiesfrom'js-cookie'exportdefaultasync(url='',data={},type='GET',method='fetch',body=null)=>{type=type.toUpperCase();url=url;if(data){if(type=='GET'||type=='POS
- 后端如何接收数据?详解8种HTTP请求方式及SpringBoot代码实现
Xxtaoaooo
httpspringboot网络协议java
人们眼中的天才之所以卓越非凡,并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。————马尔科姆·格拉德威尔目录一、RequestPayload(JSON/XML等结构化数据)二、QueryStringParameters(URL参数)三、FormData(表单数据)四、PathVariables(路径参数)五、Headers(请求头)六、Cookies七、
- 【网络安全】利用 Cookie Sandwich 窃取 HttpOnly Cookie
秋说
web安全XSS
未经许可,不得转载。文章目录引言Cookie三明治原理解析ApacheTomcat行为Python框架行为窃取HttpOnly的PHPSESSIDCookie第一步:识别XSS漏洞第二步:发现反射型Cookie参数第三步:通过Cookie降级实现信息泄露第四步:整合攻击流程修复建议引言本文将介绍一种名为“CookieSandwich”(Cookie三明治)的技术,该技术可用于在特定服务器上绕过Ht
- Charles抓包
nee~
okhttp
charles抓包Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,response和HTTPheaders(包含cookies与caching信息)。Charles主要功能:支持SSL代理。可以截取分析SS
- 【网络】Linux 内核优化实战 - net.ipv4.tcp_syncookies
锅锅来了
Linux性能优化原理和实战网络tcp/iplinux
目录功能作用取值及含义查看与修改方法net.ipv4.tcp_syncookies是Linux系统中的一个内核参数,用于控制是否启用SYNCookies功能,该功能主要用于防范SYNFlood攻击。以下是关于它的详细介绍:功能作用SYNFlood攻击是一种常见的DDoS攻击方式,攻击者会短时间内伪造大量不同IP地址的SYN报文发送给服务端,导致服务端的半连接队列被占满,从而无法为正常用户提供服务。
- DPDK内存(二)内存申请操作
cuibin1991
DPDKDPDK内存
EAL提供了一个mallocAPI用于申请任意大小内存。这个API的目的是提供类似malloc的功能,以允许从hugepage中分配内存并方便应用程序移植。通常,这些类型的分配操作不应该在数据面处理中进行,因为他们比基于池的分配慢,并且在分配和释放路径中使用了锁操作。但是,他们可以在配置代码中使用。1.Cookies当CONFIG_RTE_MALLOC_DEBUG开启时,分配的内存包括保护字段,这
- 在linux安装jdk,运行jar
Liang.Wang
javalinuxjar
进入/usr/local文件夹cd/usr/local执行命令创建java文件夹mkdirjava进入java文件夹cdjava执行在线下载命令wget--no-check-certificate--no-cookies--header“Cookie:oraclelicense=accept-securebackup-cookie”http://download.oracle.com/otn-pu
- 【jdk】使用wget下载jdk8
催化开天地
java开发语言
因为在oracle官网下载jdk需要如果直接在linux中使用wget命令下载,实际下载是一个html文件,所以需要通过一下命令wget--no-check-certificate--no-cookies--header"Cookie:oraclelicense=accept-securebackup-cookie"http://download.oracle.com/otn-pub/java/j
- 功能测试包含哪些测试?分别有什么作用?
可可爱爱的程序员
功能测试软件测试测试理论功能测试python单元测试程序人生
功能测试包含哪些测试?功能测试主要包括链接测试、表单测试、搜索测试、删除测试、cookies、session测试、数据库测试等部分。功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。功能测试包含哪些测试?分别有什么作用?接下来我们具体了解一下:一、链接测试测试所有链接是否按指示的那样确实链接到了该链接的页面;测试所链接的页面是否存在;测试web应用系统上没
- 前端基础知识JavaScript系列 - 25(Javascript本地存储)
前端小白从0开始
前端javascript开发语言
一、方式javaScript本地缓存的方法我们主要讲述以下四种:cookiesessionStoragelocalStorageindexedDBcookieCookie,类型为「小型文本文件」,指某些网站为了辨别用户身份而储存在用户本地终端上的数据。是为了解决HTTP无状态导致的问题作为一段一般不超过4KB的小型文本数据,它由一个名称(Name)、一个值(Value)和其它几个用于控制cooki
- webdriver常用方法+鼠标键盘事件+浏览器高级操作
要站在顶端
UI自动化selenium
文章目录webdriver操作元素、获取元素常用方法浏览器控制浏览器cookies鼠标事件键盘事件**常用方法**上传文件内嵌网页iframe切换浏览器标签页切换页面滚动截图警告框处理下拉框处理webdriver操作元素、获取元素常用方法常用方法clear():清除文本。send_keys(value):模拟按键输入(被操作元素需要是个文本输入框)。click():单击元素。其他方法#size:返
- Requests源码分析:底层逻辑
哆啦A梦的口袋呀
源码分析pythonhttp
底层逻辑创建Session会话实例session创建PoolManager连接池实例到session.poolmanager(底层是urllib3)创建Request请求实例reqsession.prepare_request()准备请求参数合并cookies为CookieJar对象:创建干净的CookieJar>>合并会话级cookies(self.cookies)>>合并请求级cookies生
- Linux安装配置JDK1.8
七域茗阳
linux运维服务器
一、创建安装目录(自建目录)mkdir-p/usr/local/src/jdk二、查看历史残留rpm-qa|grep-ijdk三、联网下载wget--no-check-certificate--no-cookies--header"Cookie:oraclelicense=accept-securebackup-cookie"http://download.oracle.com/otn-pub/j
- python web 开发-Flask Session会话管理完全指南
aiweker
python前端flask
FlaskSession会话管理完全指南:从基础到安全实践1.引言在Web开发中,会话管理是维护用户状态的核心技术。Flask提供了简单而强大的会话(session)管理机制,允许服务器在不同请求间存储用户特定信息。本文将全面介绍Flask中的Cookies和Session管理,包括基本用法、配置选项和安全最佳实践。2.Session基础概念2.1CookiesvsSessionCookies:存
- 需要登陆网站后才能获取数据的页面爬取
weixin_30580341
python爬虫c#
本文转载自以下链接:https://www.makcyun.top/web_scraping_withpython8.html目的是万一博主网站无法访问到的话自己需要学习的东西可就不存在了.本文需要学习的地方,使用三种不同的方式爬取需要登录才能获取数据的网站数据POST请求方法:需要在后台获取登录的URL并填写请求体参数,然后POST请求登录,相对麻烦;添加Cookies方法:先登录将获取到的Co
- 详细说说分布式Session的几种实现方式
蒂法就是我
分布式session
1.基于客户端存储(Cookie-Based)原理:将会话数据直接存储在客户端Cookie中实现://SpringBoot示例@BeanpublicCookieSerializercookieSerializer(){DefaultCookieSerializerserializer=newDefaultCookieSerializer();serializer.setCookieName("SE
- Vue组件登录页面,记得修改路径等信息
爱好物理的一名程序员XiaoK
vue.jsjavascript前端
登录/注册登录忘记密码?登录注册账户{{usernameError}}{{passwordError}}{{confirmPasswordError}}注册你好,朋友!输入您的个人信息,开始与我们同行。注册欢迎回来!请使用您的个人信息登录以保持连接。登录importRequestfrom'@/utils/request';importCookiesfrom'js-cookie';exportdef
- 了解Cookie和Session
Cookie和Session是Web开发中用于实现会话跟踪的两种机制,它们在存储位置、安全性、生命周期和数据类型等方面存在显著差异。以下是核心区别的对比:一、核心区别对比项CookieSession存储位置客户端(浏览器本地)服务器端数据类型字符串(需手动序列化复杂数据)支持对象/数组等复杂数据类型安全性低(数据存于客户端,易被篡改或窃取)高(数据存于服务器,仅通过SessionID识别用户)生命
- Session 无法保存的问题
强壮的小白菜
.net数据库服务器前端
Session无法保存的问题问题描述在配置httpCookieshttpOnlyCookies=“true”requireSSL=“true”/后出现Session无法保存的问题原因分析:requireSSL=“true”表示Cookie的Secure属性被启用,此时浏览器只会通过HTTPS协议传输Cookie(包括SessionID)。如果应用未启用HTTPS或存在混合协议请求(如HTTP页面访
- ASP Cookies
沐知全栈开发
开发语言
ASPCookies引言ASPCookies是一种在客户端和服务器之间存储和传输数据的机制。它允许网站在用户的浏览器中存储信息,并在用户访问网站的不同页面时检索这些信息。本文将详细介绍ASPCookies的概念、工作原理、使用方法以及注意事项。什么是ASPCookies?ASPCookies是一种在客户端浏览器中存储数据的技术。它由服务器创建,并存储在用户的计算机上。当用户再次访问网站时,浏览器会
- 采用轮询的方式实现在线人数
b哦哈嘻w
服务器前端运维
轮询主要通过定时器来实现1.获取设备id这里需要像后端传入正在观看视频的设备Id号,区分不同的用户设备,确保每个设备在进行视频播放时能被唯一识别。通过设备ID,你可以追踪每个设备的观看状态(例如,记录每个设备的播放情况,获取每个设备是否正在观看视频等)。使用@fingerprintjs/fingerprintjs":"^4.4.3"和cookies:获取浏览器的唯一标识,具体代码如下:import
- LeetCode --- 455. Assign Cookies 解题报告
杨鑫newlfe
LeetCodePython算法LeetCodeAssignCookies贪心算法Python
Assumeyouareanawesomeparentandwanttogiveyourchildrensomecookies.But,youshouldgiveeachchildatmostonecookie.Eachchildihasagreedfactorgi,whichistheminimumsizeofacookiethatthechildwillbecontentwith;andeac
- Python爬虫实战:研究MechanicalSoup库相关技术
ylfhpy
爬虫项目实战python爬虫开发语言科技安全
一、MechanicalSoup库概述1.1库简介MechanicalSoup是一个Python库,专为自动化交互网站而设计。它结合了requests的HTTP请求能力和BeautifulSoup的HTML解析能力,提供了直观的API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。1.2主要功能特点浏览器抽象:提供StatefulBrowser类,维护会话状态,包括cookies和当前页面
- 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