- 实现阿里云服务器上的文字聊天程序以及C语言写的进程间通信(IPC)程序
abcanade
服务器c语言运维
实现阿里云服务器上的文字聊天程序以及C语言写的进程间通信(IPC)程序1.基于Linux中的管道进行进程间通信我们首先使用管道进行进程间通信,这对于简单的聊天程序来说是一个比较简单且实用的方法。步骤:创建管道:管道用于两个进程间的单向通信。我们需要用pipe()函数来创建管道。进程间通信:父进程和子进程通过管道交换信息。实现聊天功能:父进程可以通过管道向子进程发送消息,子进程可以通过管道接收并显示
- 红宝书第四十三讲:基于资料的数据可视化工具简单介绍:D3.js 与 Canvas绘图
前端javascript
红宝书第四十三讲:基于资料的数据可视化工具简单介绍:D3.js与Canvas绘图12资料取自《JavaScript高级程序设计(第5版)》。查看总目录:红宝书学习大纲一、D3.js:数据驱动文档的王者1核心特性(根据资料1):多渲染方式支持:可生成SVG、Canvas、CSS或HTML5动态图表极致的控制精度:允许对最终渲染结果进行微调应用场景:金融数据可视化、地理信息地图、动态交互动画基础用法流
- java处处运行的语言传奇
java
一、Java简介:语言的王者之路Java是一种面向对象、跨平台、稳定可靠的编程语言,由SunMicrosystems的JamesGosling于1995年正式发布。其最大特征是“WriteOnce,RunAnywhere(一次编写,到处运行)”。经过近三十年的发展,Java已成为世界上最广泛使用的编程语言之一,被广泛应用于Web、企业级应用、Android开发、金融系统、大数据平台等几乎所有软件开
- Kotlin 学习--数组
安小牛
kotlin学习javascript
一、关于数组的基础知识和常用方式/***kotlin数组*使用arrayOf创建数组,必须指定数组的元素,可以是任意类型**/valarrayNumber=arrayOf(1,2,3,4)/***集合中的元素可以是任意类型*kotlin中的Any等价于java中的Object对象的意思**/valarrayObjects=arrayOf(1,true,"2")/***使用arrayOfNulls创
- JVM 为什么需要即时编译器?
冰糖心书房
JVM常见问题汇总jvm即时编译器
JVM之所以需要即时编译器(JITCompiler),核心原因是为了提高Java程序的执行性能,弥补纯解释器执行的不足。我们从以下几个关键角度来理解这个问题:1.解释器的性能瓶颈:逐条解释的开销:解释器需要逐条读取Java字节码指令,并将其翻译成机器码,然后执行。这个过程对于每一条指令都要重复进行,即使是同一段代码被多次执行,解释器也需要一遍遍地翻译。这种重复的翻译过程带来了显著的性能开销。缺乏优
- java maven mvn
ylatin
java
使用命令行javacfoo/bar/Main.javajavafoo.bar.Main反射机制反射技术可以操作私有属性,私有方法Classcls=Monkey.class;Monkeymonkey=newMonkey();Classcls=monkey.getClass();Classcls=Class.forName("foo.bar.Monkey");importjava.lang.refle
- node.js npm javascript
ylatin
react.js
JavascriptESModulepackage.json中添加type:"module"或命名文件为.mjscommonJS数组方法constarr=[1,2,3];arr.push(4);#增arr.unshift(0);#增constval=arr.pop();#删constval=arr.shift();#删arr.length#查constnarr=arr.map((val,idx,a
- 红宝书第四十二讲:Angular核心特性精讲:依赖注入 & RxJS整合
前端javascript
红宝书第四十二讲:Angular核心特性精讲:依赖注入&RxJS整合资料取自《JavaScript高级程序设计(第5版)》。查看总目录:红宝书学习大纲一、依赖注入(DependencyInjection):快递员送货到家的服务1.核心概念:按需取货传统的对象创建方式:手动造零件(自己newService())依赖注入:告诉系统"我需要什么",Angular自动送货上门(类似外卖点单)12.操作流程
- 为什么明明路由器就能“兼职”交换机,大家却非要花钱买交换机?
互联网之路.
智能路由器网络
互联网各领域资料分享专区(不定期更新):Sheet家里网络设备越来越多,路由器上自带的4个LAN口根本不够用。这时候,很多人会想到用旧路由器“废物利用”——关掉DHCP,把网线插在LAN口上,直接当交换机用。甚至还有人用主路由接子路由的WAN口,既能扩展WiFi,又能“白嫖”子路由的LAN口。乍一听很划算,但为什么专业玩家都摇头说“不推荐”?今天就来扒一扒背后的真相!一、你以为的“省钱”,可能藏着
- Java用正确的姿势写单元测试以及mock
拉里小猪的迷弟
代码写法单元测试java
1.前言对于一些简单的功能或业务,我们也许可以通过前端调试、postman等接口工具、main函数调用进行测试。但这每次改动代码都要人力测试,耗费大量的人力资源且不高效,真正的项目中单元测试是必不可少的。2.要点单元测试的三步走:1、组装方法入参2、执行方法3、对方法的执行结果进行断言(Assert)比对建议把所有实际操作数据的测试方法上面加上事务注解。对于会抛异常的情况,需要用try包住,在ca
- 揭开区块链交易费用优化的秘密——构建高效的MySQL架构
墨夶
数据库学习资料1区块链mysql架构
在区块链技术日益普及的今天,随着交易量的增长,交易费用成为了用户和开发者关注的核心问题之一。特别是在以太坊这样的平台上,智能合约的执行需要消耗Gas费用来支付计算资源,而这些费用直接关系到用户的成本。因此,设计一个能够有效降低区块链交易费用的MySQL架构变得至关重要。本文将深入探讨如何通过优化数据库结构、减少不必要的链上操作以及利用分布式技术栈来实现这一目标。跟随我们的脚步,一起探索这个既具挑战
- Oracle JDBC驱动包(ojdbc6)的实战应用
seiji morisako
本文还有配套的精品资源,点击获取简介:OracleJDBC驱动程序是Java与Oracle数据库通信的桥梁,其中“ojdbc6”版本是针对JavaSE6优化的JDBC驱动,支持JDBC4.0规范。本压缩包包括配置指南和JDBC驱动库,适合企业级Java应用程序开发。该驱动具有性能优化和高级特性,如存储过程、事务管理等,并包含使用示例和最佳实践。1.OracleJDBC驱动程序概述OracleJDB
- Oracle 11g JDBC ojdbc6驱动程序实战指南
Randy Rhoads
本文还有配套的精品资源,点击获取简介:Oracle11gJDBCojdbc6驱动程序是与Oracle11g数据库通信的关键Java组件,通过JDBC接口实现Java应用程序与Oracle数据库之间的交互。该驱动程序专为Java6环境设计,是Oraclethin驱动的实现,不依赖Oracle客户端软件,支持跨平台性能优化。开发者在使用时需要将ojdbc6.jar添加到Java项目的类路径中,并进行数
- Oracle数据库连接:classes12与ojdbc14实战指南
杜连涛
本文还有配套的精品资源,点击获取简介:Oracle数据库是企业级应用的重要组成部分,其与Java的交互需要使用特定的JDBC驱动。"classes12.jar"和"ojdbc14.jar"是Oracle数据库的连接库,分别用于9i和10g版本。这些库允许Java应用程序通过JDBCAPI与Oracle数据库建立连接,执行各种SQL操作。本指南将介绍如何在Java程序中添加依赖,建立连接,执行SQL
- Token存储:Cookie与LocalStorage对比
斯~内克
网络网络前端
在决定将身份验证令牌(Token)存储在Cookie还是LocalStorage时,需根据安全性、应用场景和实现复杂度综合评估。以下是两者的对比及建议:1.Cookie的优缺点优点:自动发送:浏览器自动在每次请求中附加Cookie,适合服务端渲染(SSR)或传统Web应用。安全性增强:通过HttpOnly标志可阻止JavaScript读取Token,有效防御XSS攻击窃取Token。内置过期管理:
- ojdbc8-12.2.0.1.jar.zip 资源说明
陈凯韵
ojdbc8-12.2.0.1.jar.zip资源说明【下载地址】ojdbc8-12.2.0.1.jar.zip资源说明ojdbc8-12.2.0.1.jar.zip资源说明本仓库提供了`ojdbc8-12.2.0.1.jar.zip`文件,专为需要通过Java应用程序连接Oracle数据库的开发者设计项目地址:https://gitcode.com/open-source-toolkit/bce
- 使用Java对接印度股票数据源
金融数据出海
javapython开发语言
随着全球投资者对新兴市场,特别是像印度这样的快速增长经济体的兴趣日益增加,如何高效、准确地获取和分析印度股市的数据成为了许多开发者和分析师关注的焦点。本文将从用户的角度出发,详细介绍如何使用Java语言通过StockTVAPI对接印度股票数据源,并进行数据分析。准备工作在开始之前,请确保您已经从StockTV获得了访问API所需的Key。这个Key是调用API时用于验证身份的重要凭证。您可以通过联
- Java中的WebSocket编程详解
微赚淘客系统@聚娃科技
javawebsocket
Java中的WebSocket编程详解大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在当今互联网应用中,实时通讯变得越来越重要,而WebSocket作为一种全双工通讯协议,为实时应用提供了强大的支持。本文将深入探讨如何在Java中进行WebSocket编程,以及相关的技术细节和实现方法。1.WebSocket简介与基本概念WebS
- 42、JavaEE高级主题:WebSocket详解
跟着汪老师学编程
java-eewebsocketjava
WebSocket一、WebSocket协议与实现WebSocket是一种基于TCP协议的全双工通信协议,能够在客户端和服务器之间建立实时、双向的通信通道。通过WebSocket,客户端和服务器可以在任何时候发送数据,并立即接收到对方的响应。1.1WebSocket协议的特点全双工通信:客户端和服务器可以同时发送和接收消息。实时性:数据的传输是实时的,服务器可以主动推送数据给客户端。低延迟:相比H
- 揭秘二维码扫码登录原理:Java 与 UniApp 实战解析
Honmaple
java
在当今数字化时代,二维码扫码登录已经成为了一种极为便捷且安全的登录方式,广泛应用于各类应用程序中。本文将深入剖析二维码扫码登录的原理,并通过Java和UniApp给出具体的代码示例,帮助大家更好地理解和实现这一功能。二维码扫码登录原理概述二维码扫码登录的核心流程主要分为以下几个步骤:生成唯一标识:服务端生成一个唯一的标识(通常是UUID),用于标识本次登录请求。生成二维码:将这个唯一标识编码成二维
- osi七层模型
李枫月
文章网络基础osi七层模型
osi七层模型将网络通信划分成七个层次,把这个抽象的东西更具体的表示出来下面就说说各层什么作用1,物理层负责数据的传输介质传输:它负责把数据变成电信号、光信号或无线信号,通过网线传输2,数据链路层控制网络层和物理层之间的通信物理MAC寻址:确保发送和接收设备的身份,交换机知道发给谁3,网络层ip选址/路由选择ip选址:给数据包贴上“寄件人”(源IP地址)和“收件人”的地址(目标IP地址)路由选择:
- 探索 Python 的 functools 模块:缓存、属性缓存与 LRU 缓存
lisw05
pythonpython缓存spring
李升伟编译Python的functools模块是函数式编程爱好者的宝库,提供了许多工具来提升代码的效率和优雅性。本文将深入探讨三个强大的函数——cache、cached_property和lru_cache,它们通过存储昂贵计算的结果来优化性能。无论是加速递归算法还是简化基于类的计算,这些工具都能满足需求。让我们通过清晰的解释和实际示例逐一探索。1.cache:简单无界的记忆化cache装饰器是一
- 有序数组的平方【java】
豆 腐
Java算法数据结构排序算法
给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]packagepro1;//因为数组是有序的,所以最大值只可能在数组的两端,所以使用双指针来实现数组平方的排序,两端各一个
- 交换两个数的值的简单方法
cbxjsdg
python
a,b=10,20print(a,b)a,b=b,a#把b赋值给a,把a赋值给bprint(a,b)#打印结果如下#1020#2010
- Java课堂5
不吃洋葱.
java开发语言
程序中的循环一、while循环语法:while(布尔表达式){//逻辑代码(循环操作)}执行流程:先对布尔表达式进行判断,结果为true,则执行逻辑代码。本次执行完毕后,再次进行判断,则再次执行逻辑代码。直至布尔值表达式的结果为false时,才会跳出循环结构,执行后续代码。packagedemo;publicclassTest1{publicstaticvoidmain(String[]args)
- 最全大数据学习路线指南:大数据知识点汇总保姆级教程(2万字长文)
大模型大数据攻城狮
大数据知识大数据思维导图大数据学习大数据入门大数据入行大数据面试大数据BI
目录第一章大数据基础篇1.1Linux基础学习1.2SQL基础学习1.3Java与Scala基础学习第二章数据采集与存储技术2.1Hadoop基础及实战2.2Hive与Hbase技术2.3ETL流程及原理第三章数据管理与查询技术3.1数据仓库体系搭建3.2数据治理体系方法论3.3OLAP查询技术第四章大数据开发工具与平台4.1分布式协调工具Zookeeper4.2消息队列Kafka4.3任务调度工
- 第一期:[特殊字符] 深入理解MyBatis[特殊字符]从JDBC到MyBatis——持久层开发的转折点[特殊字符]
study hard_day
intellij-ideajavaidespringmybatis数据库java-ee
前言在软件开发的过程中,持久层(或数据访问层)是与数据库进行交互的关键部分。早期,开发者通常使用JDBC(JavaDatabaseConnectivity)来实现与数据库的连接与操作。虽然JDBC在一定程度上简化了数据库操作,但它仍然存在许多挑战和不便之处,比如SQL语句的硬编码、结果集的处理复杂度、以及代码的冗长和重复性等问题。随着时间的推移,开发者们意识到,JDBC无法完全满足高效、灵活、易维
- Java微服务架构从零构建全攻略:深度解析、实战代码与详尽注释
墨瑾轩
一起学学Java【一】架构java微服务
从零开始逐步搭建,并结合丰富的代码示例与详尽的注释。接下来,我们将按照以下结构展开讨论:一、微服务架构概述1.微服务本质与核心原则微服务的定义:将大型复杂应用程序分解为一系列小型、独立、自治的服务集合。核心原则:单一职责:每个服务专注于一个特定业务领域。松耦合:服务间通过轻量级API通信,降低相互依赖。自治性:服务独立部署、升级,拥有自己的数据库、缓存等资源。高可用与容错:服务具备故障隔离能力,通
- Java集合框架基础知识详解 Java Collections Framework Basics
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介Java集合框架(CollectionFramework)是Java中用于存放、管理和访问数据的一个重要组成部分。在许多开发场景下都需要用到集合框架,比如数据库处理、业务逻辑处理、GUI编程等。本教程将带领读者了解Java集合框架的一些基础知识以及如何正确地使用它。在学习完本文后,读者将对Java集合框架有更深刻的理解并掌握其应用技巧。2.基本概念和术语首先,让
- Java的输出语句和输入语句
贺仙姑
javaservlet开发语言
一、输出语句1、在Java中,我们通常使用System.out.println()方法来执行输出操作,println是printline的缩写,这个方法会将传递给它的参数打印到控制台,输出并换行。例:System.out.println("HelloWorld");System.out.println("Linda");输出结果:HelloWorldLinda若输出后不想换行,可以使用System
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p