- Python10天冲刺--禁止类被实例化
高效匠人
python前端
在Python中,如果你想禁止某个类被实例化,可以通过定义一个抽象基类并标记它为抽象类来实现。这样,任何尝试实例化该类的行为都会引发一个错误。以下是具体的做法:使用abc模块定义抽象类你可以使用abc模块中的ABC和abstractmethod来创建一个抽象类。这样的类不能被实例化,除非它的子类实现了所有的抽象方法。示例代码fromabcimportABC,abstractmethod#定义一个抽
- 如何绕过myabtis-plus的逻辑删除条件
Muroidea
springbootspringboot后端mybatis
目标mp中所有方法都会带上逻辑删除,如果启用了逻辑删除,有时候我们需要忽略逻辑删除.改如何实现解决方法自定义DeleteReal方法importcom.baomidou.mybatisplus.core.enums.SqlMethod;importcom.baomidou.mybatisplus.core.injector.AbstractMethod;importcom.baomidou.myb
- 使用Python创建工厂类
mutianhao1024
pythonpython开发语言
工厂模式的目的是封装对象的创建过程,实现:面向接口编程解耦调用方与具体实现支持扩展,减少修改#工厂类测试fromabcimportABC,abstractmethod#定义接口类(基类)classBasePayment(ABC):@abstractmethoddefpay(self,amount):pass#####################################定义不同的子类cl
- python如何防止SQL注入攻击?
abckingaa
PythonDBJavapythonsql数据库
python如何防止SQL注入攻击?在您提供的ORM示例中,我们已经有了防止SQL注入的基本保障,因为我们使用了参数化查询。但是,为了进一步增强代码的清晰性和安全性,我们可以确保在分页查询和插入等操作中都使用参数化查询,同时加入类型验证以防止意外输入。以下是修改后的ORM代码,加入了更全面的安全措施和分页功能:importsqlite3fromabcimportABC,abstractmethod
- C#虚方法和抽象方法
我写代码菜如坤
c#开发语言
在C#中,虚方法(virtualmethod)和抽象方法(abstractmethod)都是用于支持面向对象编程中的多态性,但它们之间有一些关键的区别。虚方法(VirtualMethod)定义:虚方法是在基类中定义的,可以被派生类重写(override)的方法。使用virtual关键字声明。实现:虚方法可以有一个实现。派生类可以选择重写它,也可以使用基类的实现。使用场景:适用于你希望提供一个默认行
- python 设计模式 责任链模式
默执_
python设计模式责任链模式处理者请假审批继承抽象类
责任链模式调用时,可以无需判断接收者是谁。会自动逐级在类的内部进行判断。fromabcimportABCMeta,abstractmethod#抽象的处理者classHandler(metaclass=ABCMeta):@abstractmethoddefhandle_leave(self,day):pass#具体的处理者classGeneralManager(Handler):defhandle
- from abc import ABC
图书馆钉子户
python
fromabcimportABC是Python中用于导入抽象基类(AbstractBaseClass,简称ABC)的语句。以下是详细解释:作用创建抽象基类通过继承ABC类,可以定义一个抽象基类。抽象基类用于声明子类必须实现的接口(方法或属性),确保派生类遵循特定的设计规范。强制接口一致性结合@abstractmethod装饰器,抽象基类能够强制子类实现特定的方法。未实现这些方法的子类在实例化时会抛
- 一文搞懂python中常用的装饰器(@classmethod、@property、@staticmethod、@abstractmethod......)
NosONE
pythonpython
本文分为两部分,第一部分是介绍python中常见的装饰器。另一部分是自定义装饰器,包括了一些非常好用的自定义装饰器。一文搞懂python中常用的装饰器常见的几个装饰器介绍及示例@classmethod装饰器基本用法@property、@setter装饰器基本用法@staticmethod装饰器基本用法@abstractmethod装饰器基本用法自定义装饰器类装饰器非常好用的自定义装饰器常见的几个装
- python 抽象类
学python的土豆
python开发语言
1.基本概念抽象类,顾名思义,是包含抽象方法(即没有具体实现的方法)的类。这些抽象方法必须在子类中得以具体实现。Python通过abc(AbstractBaseClasses)模块提供了对抽象类的支持。在Python3中,我们通常会从abc.ABC类继承来创建一个抽象类,并使用@abc.abstractmethod装饰器来标记抽象方法。2.定义抽象类fromabcimportABC,abstrac
- python的抽象类
§闪灵,~星~~
python抽象类
python抽象类的实现可以借助库abc来实现先创建类A():importabcclassA(metaclass=abc.ABCMeta):#抽象类@abc.abstractmethod#声明抽象方法defread(self):
[email protected](self):passdef__str__(self):print("共有方法,__str__方法重写")接着
- Python抽象类
蓝绿色~菠菜
Python
抽象类:如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。抽象类可以借助python的abc模块实现。抽象类不可以被实例化,抽象类中抽象方法不需要实现,一般写pass。子类必须要实现被@abstractmethod装饰的抽象方法。抽象类中可以定义一般方法。普通父类完全可以实现抽象类功能为什么还要定义抽象类呢?抽象类最大的特点就是子
- AbstractMethodError: abstract method "void android.telephony.TelephonyManager$CellInfoCallback.onCel
-晨-风-
Android高德混淆android
应用集成高德SDK,开启混淆后,APP在Android10及以上机型上的部分页面会闪退。2020-01-0717:09:44.33212910-14330/?E/AndroidRuntime:FATALEXCEPTION:pama#1Process:com.xxx.xxxxxx,PID:12910java.lang.AbstractMethodError:abstractmethod"voidan
- Java学习21--abstract抽象类
Dear_喜阳阳
java学习开发语言
abstract抽象类在Java中,abstract是一个关键字,用于定义抽象类abstractclass或抽象方法abstractmethod。abstractclass是一种特殊的class,它不能用来建立具体的object,即不能实例化对象。abstractclass通常用作其他类的基类,这些childclass会提供abstractclass中声明的abstractmethod的具体实现。
- day17-pygame
xdxh
一、抽象类和抽象方法抽象类:只能被继承不能被实例化(不能创建对象)。抽象方法:声明的时候不用实现,在子类中必须去重写的方法。怎么声明抽象类:类继承abc模块中的ABCMeta,继承的时候需要加参数metaclass。并且要通过abstractmethod来声明抽象发方法。子类继承一个抽象类,必须在子类中实现抽象类中所有的抽象方法。metaclass->元类代码importabcclassShape
- Python基础篇_修饰符(Decorators)【中】
长孤秋落
Pythonpython开发语言修饰符
上一篇:Python基础篇_修饰符(Decorators)【上】(@decorator、@classmethod、@staticmethod)下一篇:Python基础篇_修饰符(Decorators)【下】@abc.abstractmethod、@functools.singledispatch、@contextlib.contextmanager Python基础篇_修饰符(Decorators
- Python基础篇_修饰符(Decorators)【下】
长孤秋落
Pythonpython修饰符Decorators函数
上一篇:Python基础篇_修饰符(Decorators)【中】@property、@.setter、@.deleter、@functools.lru_cache(maxsize=None) Python基础篇_修饰符(Decorators)【下】Python基础篇_修饰符(Decorators)【下】一、修饰符一般特点二、常用的修饰符以及用法举例7)@abc.abstractmethod,抽象方
- @abstractmethod的用法
菜叶是个小可爱
抽象方法:抽象方法表示基类的一个方法,没有实现,所以基类不能实例化,子类实现了该抽象方法才能被实例化。Python的abc提供了@abstractmethod装饰器实现抽象方法,下面以Python3的abc模块举例。@abstractmethod:见下图的代码,基类Foo的fun方法被@abstractmethod装饰了,所以Foo不能被实例化;子类SubA没有实现基类的fun方法也不能被实例化;
- day17-课后总结
麻瓜_1fb4
pygame1.抽象类和抽象方法抽象类:只能被继承不能实例化(不能创建对象)抽象方法:声明的时候不用实现,在子类中必须去重写的方法怎么声明抽象类:类继承abc模块中的ABCMeta,继承的时候需要加参数metaclass.并且要通过abstractmethod来声明抽象方法子类继承一个抽象类,必须在子类中实现抽象类中所有的抽象方法metaclass-->元类importabcclassShape(
- 静态方法和抽象方法的应用和理解
阿罗的小小仓库
python中的基础函数的理解深度学习人工智能
问题:理解代码的时候遇到一个类下边有这样的静态and抽象方法:@staticmethod@abstractmethoddefget_loss()->nn.functional:"""返回用于当前数据集的损失函数。"""pass@staticmethod装饰器表示get_loss是一个静态方法。这意味着你可以通过类本身调用这个方法,而不需要创建类的实例。@abstractmethod装饰器表示get
- 关键字:abstract关键字
学计算机的睿智大学生
java开发语言
在Java中,abstract是一个关键字,用于修饰类和方法。当一个类被声明为抽象类时,它不能被实例化,只能被其他类继承。同时,抽象类可以包含抽象方法,抽象方法没有方法体,只包含方法的签名,需要由子类来实现。以下是使用abstract关键字的一些示例:抽象类:在上述示例中,AbstractClass是一个抽象类,它包含一个抽象方法abstractMethod。因为抽象类不能被实例化,所以我们不能创
- Mybatis Plus用自定义新增,来实现真正的批量新增方式
he_lei
mybatis
编写自定义insert和update的SQL批量处理方法insertimportcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.core.enums.SqlMethod;importcom.baomidou.mybatisplus.core.injector.AbstractMethod;impor
- Java-抽象类详解
煎饼小狗
Javajava开发语言学习数据结构
目录1、抽象类基本概念2、抽象类语法3、抽象类特性4、抽象类和普通类之间的关系1、抽象类基本概念在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。如果一个方法中没有具体的实现内容,我们可以把该方法设计为一个抽象方法(abstractmethod),包含抽象方法的类就叫做抽象类(ab
- python类中的抽象函数,以及继承后子类的比较
桐人,奥龙
python开发语言
抽象函数的定义方式导包fromabsimportABCMeta,abstractmethod声明抽象类classArea(object):@abstractmethoddefarea(self):pass在抽象类中,不用写构造函数,抽象类不能进行实例化继承抽象类的子类必须将抽象类中的函数进行重写(不重写就会报错)补充语法特性python3中在写类的时候已经不需要继承object这个类了,这个中写好
- Python基础|类方法的强制重写与禁止重写
软件测试狂阿沐
Pythonpython编程语言类
在Python中,类的继承与函数的重写,是我们再熟悉不过的知识点。但如何实现,方法的强制重写与禁止重写,这大概是很多初学者的一个知识盲区吧?01强制重写**需求:**父类一个方法,强制子类去重写。实现的方法大约有这两种:1、把父类变为抽象基类,然后给指定方法加上装饰器@abc.abstractmethod2、指定方法抛出NotImplementedError异常先来说说第一种由于定义抽象基类,Py
- python中的抽象方法
知福致福
pythonpython
在Python中,可以通过使用抽象基类(AbstractBaseClass,简称ABC)来定义抽象方法。抽象基类是一种特殊的类,它不能直接实例化,而是用作其他类的基类。抽象方法作为接口定义在抽象基类中,要求子类必须实现这些方法。要定义抽象方法,需要使用abc模块中的ABC基类和abstractmethod装饰器。下面是使用抽象方法的示例:fromabcimportABC,abstractmetho
- TypeError:Can't instantiate abstract class Ultraman with abstract methods sttack 报错
weixin_30715523
报错Can'tinstantiateabstractclassUltramanwithabstractmethodssttack通过非常仔细的排查,发现错误如下:1、单词拼写错误是诱发这个报错的直接原因1fromabcimportABCMeta,abstractmethod2fromrandomimportrandint,randrange34classFighter(object,metacla
- python中的装饰器:@staticmethod,@classmethod,@abstractmethod ,@property
星河辉煌
pythonpython学习
目录1.@staticmethod2.@classmethod3.@abstractmethod4.@property装饰器应用场景引入日志函数执行时间统计执行函数前预备处理执行函数后清理功能权限校验等场景缓存1.@staticmethod修饰类方法,静态方法。不传入代表实例对象的self参数,并且不强制要求传递任何参数,可以被类直接调用。静态方法是独立于类的一个单独函数,只是寄存在一个类名下。静
- from abc import ABCMeta,abstractmethod解读
金融小白数据分析之路
python小白成长之路学习sklearn的gmm源码面向对象编程
#多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。#在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)#也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。#上述代码子类是约定俗称的实现这个方法,加上abstractmetho
- python设计模式 适配器
默凉
python设计模式设计模式
对象适配器例如:你得知两个系统需要进行合并出一个新功能,两边的代码都不能更改,因为有些代码在其他地方正在应用,一改就全乱了,在不更改两个原系统的基础上进行新的开发,明明是一类功能,但是两个系统的命名规则与抽象类都不一样就需要统一转换成一种方式进行调用。这时,就需要适配器。#类适配器模式使用示例:fromabcimportABCMeta,abstractmethod#两个系统需要进行适配新系统的抽象
- MybatisPlus真正的批量插入(非循环单个)方法
真-酸辣土豆丝
总结mysqljavamybatis
MybatisPlus默认提供的批量插入方法实际上是单条插入的,跟我们预期的不一样。其实MybatisPlus提供了真正的批量插入方法,但是只适用于MYSQL,所以并没有放出来,需要自己去拓展一下。第一步:新建拓展类importcom.baomidou.mybatisplus.core.injector.AbstractMethod;importcom.baomidou.mybatisplus.c
- 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