- 【新创建项目快速推送到代码仓库】
sky10100100
前端开发git
要将新创建的项目快速推送到Git仓库,可以按照以下步骤操作:1.在GitHub上创建一个新仓库登录GitHub,点击右上角的“+”号并选择“Newrepository”。给仓库命名,并设置是否公开或私有,点击“Createrepository”创建新仓库。创建完成后,拷贝仓库地址,如:https://github.com/{name}/vue-demo.github2.初始化项目并添加远程仓库进入
- fuadmin
jcsx
开源学习djangovue.js
fu-admin-web采用VUE3,TS开发。fu-admin-backend采用Python,Django和Django-Ninija开发。数据库支持MySql,SqlServer,Sqlite。前端采用VbenAdmin、Vue3、AntDesignVue。后端采用Python语言Django框架以及强大的DjangoNinja。支持加载动态权限菜单,多方式轻松权限控制。Vue2项目移步
- 【Python Web开发】Python Web开发知识全解析
萧鼎
python基础到进阶教程python前端开发语言
PythonWeb开发知识全解析Python是一种强大的编程语言,以其简洁和高效而闻名,尤其在Web开发领域,它有着广泛的应用。Python提供了许多功能强大且灵活的Web框架,如Flask、Django、FastAPI等,使得构建现代Web应用变得简单而高效。本文将从PythonWeb开发的基本知识入手,逐步介绍开发流程、核心技术以及如何使用Python框架构建高效、可扩展的Web应用。1.什么
- Pytest插件介绍:pytest-django
东汉末年出bug
pytestdjangosqlite
pytest-django简介pytest-django是pytest的一个插件,专为Django应用程序和项目提供了一套有用的测试工具。pytest本身是一个功能强大的测试框架,以其简洁的API和丰富的插件生态而闻名。pytest-django则在此基础上,进一步简化了Django项目的测试流程,使得能够更轻松地编写、运行和管理测试。快速上手安装pytest-django要使用pytest-dj
- 一、PyCharm(Professional)搭建Django环境
郝家伙~
pycharmidepythondjango
目录一、创建项目1.左侧选择Django框架2.点击create开始创建项目3.下载Django失败,使用默认源下载可能失败,需要指定其他源,这里使用阿里源4.手动创建项目django-adminstartproject项目名称5.进入当前项目创建应用python3manage.pystartappsign6.点击运行按钮或终端运行项目python3manage.pyrunserverip:端口,
- django项目部署ubuntu服务器,Ubuntu部署Django项目方法详解
weixin_39965075
教程使用的软件版本:Ubuntu18.04.1LTS,django2.0,Python3.6.5、nginx-1.13.7、uWSGI(2.0.17.1),Ubuntu是纯净的,全新的。下面我们开始来部署。如果觉得看文字没意思,想看视频教程的,请点击这里:Django项目部署视频教程一、更新操作系统和安装依赖包#更新操作系统软件库sudoapt-getupdatesudoapt-getupgrad
- Django 日志配置实战指南
ivwdcwso
django数据库sqlitepython开发
日志是Django项目中不可或缺的一部分,它帮助我们记录应用程序的运行状态、调试信息、错误信息等。通过合理配置日志,我们可以更好地监控和调试应用程序。本文将详细介绍如何在Django项目中实现日志文件分割、日志级别控制以及多环境日志配置,并结合最佳实践和代码示例,帮助你全面掌握Django日志的使用。1.日志级别概述Python的日志模块定义了以下日志级别(从低到高):DEBUG:详细的调试信息,
- django使用踩坑经历
AI航海家(Ethan)
Djangopython后端框架djangosqlite数据库postgresql
DRF使用drf获取序列化后的idvisitor_serializer=VisitorSaveSerializer(data={…})ifvisitor_serializer.is_valid():visitor=visitor_serializer.save()visitor_id=visitor.pkpostgrepsql踩坑django使用postgrepsql,使用聚合函数如:sum等,被
- Django WSGI 异步处理和多线程的实战指南
penmily
djangopython
1.DjangoWSGI的架构和工作原理Django作为Python编程语言中最受欢迎的web框架之一,其WSGI(WebServerGatewayInterface)支持为应用的扩展性和性能优化提供了基础。本章将介绍DjanogWSGI架构的基本组成,阐述其工作原理,并分析它是如何使得Django应用能够与各种web服务器进行交互的。1.1WSGI架构的组成WSGI是Python的一种协议,定义
- Python-Django 开源项目实战指南
贾蕙梅Wayne
Python-Django开源项目实战指南python-djangoOpenTracinginstrumentationfortheDjangoframework项目地址:https://gitcode.com/gh_mirrors/py/python-django项目介绍Python-DjangoOpenTracing扩展是由OpenTracing社区贡献的一个开源项目,专为Django框架设计
- 免费开源的后端API服务-supabase安装和使用-简直是前端学习者福音
前端三评
strapiAjax工具开源前端supabase
文章目录它是什么安装和部署关于安装关于部署1、注册用户2、创建组织3、创建项目创建数据库表(填充内容)填充数据库表使用postman联调API它是什么一个开源免费的后端框架,firebase的替代品。可以简单理解类似于headlesscms,但是不仅仅只提供内容,它还集成了服务订阅、即时API,用户身份认证(包括第三方身份认证,比如使用github、Google等账号实现快速登录和注册)、边缘函数
- 银联付款服务器部署
dGcgQGludm9rZXlvdQ==
服务器运维安全
服务器选择Debian是个不错的选择,建议使用Debian11或12最小配置建议:1核CPU、1GB内存、20GB存储空间环境准备#更新系统aptupdate&&aptupgrade-y#安装必要工具aptinstallpython3python3-pipgitnginx-y#安装Python依赖pip3installflaskpycryptodomerequests代码部署#创建项目目录mkdi
- 报错:Error rendering ‘com.atlassian.jira.jira-project-config-plugin:summary-priorities‘.
Lakers2015
Jira知识库jirabug
项目场景:使用Jira系统自带的创建项目选项创建新项目。问题描述:新创建的项目的优先级方案部分报错:报错信息:Errorrendering'com.atlassian.jira.jira-project-config-plugin:summary-priorities'.PleasecontactyourJiraadministrators.且在新建的项目中新建Issue时,优先级字段没有选项(因
- 设计模式Python版 抽象工厂模式
小王子1024
设计模式Python版设计模式python抽象工厂模式
文章目录前言一、抽象工厂模式二、抽象工厂模式示例三、抽象工厂模式在Django框架中的应用前言GOF设计模式分三大类:创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组合,包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。行为型模式:关注对象之间的交互,包括职责链模式、命令模式、解
- Django常用ORM
程序猿_小天
Djangodjangodjangoorm
聚合分组Sum函数将None变为0xx=Coalesce(Sum('number'),0,output_field=CharField())跨表分组去重#B表中有一个外键表是A,即a=models.ForeignKey(A)a_queryset=BigData.objects.filter(pk=OuterRef("a")).annotate(Sum('number',distinct=True)
- 使用IDEA创建一个SpringBoot项目
web13293720476
面试学习路线阿里巴巴springbootintellij-ideajava服务器linux
文章目录一、SpringBoot是什么?二、使用idea创建SpringBoot项目1.使用idea的SpringInitiallizr创建项目2.初步配置3.编写简单代码及运行4.两个好玩的小东西总结一、SpringBoot是什么?Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特
- Django报错:Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
工具人丶Amber
Django报错
问题描述:启动django服务时出现“Error:[WinError10013]以一种访问权限不允许的方式做了一个访问套接字的尝试。”的错误问题解决1:默认启动的服务端口是8000,启动时修改该端口即可问题解决2:也可以查询端口占用的进程,杀死占用的进程(慎用)netstat-ano打开任务管理器,找到记录PID的运行程序,结束程序即可,慎用!!!!
- springboot+vue项目实战2024
1.创建项目@SpringBootApplicationpublicclassApp{publicstaticvoidmain(String[]args){SpringApplication.run(App.class,args);}}2.引入依赖4.0.0org.springframework.bootspring-boot-starter-parent3.1.3com.ivan.cnshizh
- django设置models.Model数据可以为空
呆萌的代Ma
后端djangopython后端
添加设置:null=True,blank=True比如:size=models.CharField(max_length=255,default="",null=True,blank=True)
- Django的models.model如何使用
洪小帅
django数据库sqlitepython
Django的models.model如何使用1.什么是Django模型?2.创建一个Django模型2.1定义模型2.2字段类型2.3字符串表示(`__str__`)3.创建数据库表3.1生成迁移文件3.2应用迁移4.使用模型进行数据操作4.1创建对象并保存4.2查询数据4.3更新对象4.4删除对象5.常见字段类型及参数5.1`CharField`5.2`IntegerField`5.3`Dat
- Django学习笔记
mengmwng
Djangodjango学习笔记
学习视频来源:最新Python的web开发全家桶代码仓库:https://gitee.com/m_engmeng/django-learning1.创建项目Django中项目会有一些默认的文件和文件夹1.1在终端打开终端进入某个目录(项目放在哪里)输入命令——创建项目(最后一个参数是项目名)django-adminstartprojectmysite继续输入——创建app(最后一个参数是app所处
- 融云IM干货丨在SwiftUI中集成IMKit,集成IMKit的基本步骤有哪些
融云im即时通讯
创建项目:打开Xcode并创建一个新的Swift项目。RongCloudIM/IMKit支持Swift,确保你的项目设置为使用Swift语言。安装IMKit:你可以通过CocoaPods来安装iOS版本的IMKit(含UISDK)。在Podfile中添加以下内容:rubypod'RongCloudIM/IMKit','~>x.y.z'然后,在终端中运行以下命令:podrepoupdatepodin
- Three.js实战项目01:vue3+three.js实现圣诞动画贺卡项目
叁拾舞
ThreeJsVue3three.js
文章目录创建项目加载模型设置天空与水设置天空设置水纹添加点光源相机位置和文字切屏添加星星完整代码下载创建项目创建vue3项目【christmas-app】:npminitvite@latest安装两个库:
[email protected]加载模型//导入three库import*
- 更新 Django 3.2 解决 DEFAULT_AUTO_FIELD warnings
sunjl_a
djangoweb开发djangopythonmigration
当您在Django中定义一个没有指定主键的model时,Django将自动为您创建一个主键。主键设置为整数类型(integer)。如果要覆盖该字段类型,可以在每个模型(model)的基础上执行此操作。从Django3.2开始,您现在可以在您的设置(settings)中自定义自动创建的主键的类型。在Django3.2中开始新项目时,主键的默认类型设置为BigAutoField,这是一个64位整数(6
- Flutter开篇封装TabBar
天方夜歌
OCReactNativeFlutter
小萌是从事iOS开发的,最近flutter火的不行,领导要求新的项目使用flutter,节约时间成本,学了一段时间的flutter,从今天开始正式开始Flutter开发新的项目开篇就是创建项目,搭建基本框架,tabbar和appbar的封装话不多说,直接上主要的代码,下载地址https://github.com/shuilanjianyue/flutter_tab_bar_demo/tree/ma
- Python进阶—高级语法
Echo.py
Python基础语法python开发语言
目录文章目录目录1、在==和is之间选择2、元组的相对不可变性3、字典中的键映射多个值4、Linux5、python中字典的key要求6、编码7、进制之间的转换8、关系运算符(时间处理)9、时间处理模块❶常用时间处理方法❷转化为13位时间戳10、三元运算符11、成员运算符12、For循环机制13、变量的分类14、闭包(函数的嵌套)15、函数(方法)的执行流程16、匿名函数17、Django和Fla
- 可以与 FastAPI 不分伯仲的 Python 著名的 Web 框架
程序员小麦
fastapipython前端服务器excel开发语言
正如你所理解的,任何领域都不可能停止进步,不断使用相同的工具意味着不思进取。这一点在信息技术领域,尤其是网络开发行业非常明显。关于网络框架,不论是Django和Flask等传统框架还是Python的新型高级框架,一直有着新的框架不断出现,它们正在挤掉传统和成熟的技术,它们特征更好、编码更方便、更简单、更快捷。众所周知的Pythonweb框架Django该网络框架是最流行的Python网络框架之一。
- 从理论到实践:Django 业务日志配置与优化指南
ivwdcwso
开发运维安全djangopython日志开发配置
在现代Web开发中,日志记录是确保系统可维护性和可观测性的重要手段。通过合理的日志配置,我们可以快速定位问题、分析系统性能,并进行安全审计。本文将围绕Django框架,详细介绍如何配置和优化业务日志,确保开发环境和生产环境都能高效地记录和管理日志。©ivwdcwso(ID:u012172506)1.日志的重要性日志是系统运行的“黑匣子”,记录了系统的关键操作、错误信息和性能数据。合理使用日志可以帮
- python-django 安装与基本配置
默执_
django后端开发pythondjango后端
安装pipinstallDjango==3.2.4查看版本python-mdjango--version创建项目django-adminstartproject项目名称cd项目名称创建数据库pythonmanage.pymigrate创建超级用户用户名邮箱pythonmanage.pycreatesuperuser--username=用户名--email=邮箱自己设置密码必要设置:#设置中文:s
- 设计模式Python版 单例模式
小王子1024
设计模式Python版设计模式python单例模式
文章目录前言一、单例模式二、单例模式实现方式三、单例模式示例四、单例模式在Django框架的应用前言GOF设计模式分三大类:创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组合,包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。行为型模式:关注对象之间的交互,包括职责链模式、命令模
- 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