首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开源许可协议介绍

何为开源许可协议 开源许可协议详尽表述了你获得代码后拥有的权利,可以对别人的作品进行何种操作,何种操作又是被禁止的。...如果你的项目不是代码,比如是博客之类的,可以选适合自己的知识共享(creative commons)协议。 下图简要介绍了常用的几个开源协议。 ?...阮一峰老师画的 开源许可协议放在哪边 如果是项目,可以在项目根目录创建一个 LICENSE.txt 文件来放开源许可协议的内容;如果是一个文件,可以在文件开头的注释里放开源许可协议的内容;如果是文章,可以在文章结尾放开源许可协议的内容...(一般是个链接链接对应的页面显示协议详情)。...拓展阅读 如何为你的代码选择一个开源协议 给博客配上CC协议 ---- 本文遵守创作共享CC BY-NC-SA 4.0协议 网络平台如需转载必须与本人联系确认。

51120
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    c++多线程学习(一)

    本篇文章围绕以下几个问题展开: 何为进程?何为线程?两者有何区别? 何为并发?C++中如何解决并发问题?C++中多线程的语言实现?...进程在创建、撤销和切换中,系统必须为之付出较大的时空开销,因此在系统中开启的进程数不宜过多。比如你同时打开十几个应用软件试试,电脑肯定会卡死的。于是紧接着就引入了线程的概念。 何为线程?...而进程负责获取操作系统分配的资源,内存。 线程基本上不拥有资源,只拥有一点运行中必不可少的资源,它可与同属一个进程的其他线程共享进程所拥有的全部资源。...进程要独立的占用系统资源(内存),而同一进程的线程之间是共享资源的。进程本身并不能获取CPU时间,只有它的线程才可以。 其他: 进程在创建、撤销和切换过程中,系统的时空开销非常大。...这小小的部分虽然共享一样的数据,但是却做着不同的任务。 二.何为并发?C++中如何解决并发问题?C++中多线程的语言实现? 1、何为并发?

    1.6K31

    Java并发编程:深入剖析ThreadLocal

    很显然,在多线程中使用会存在线程安全问题:第一,这里面的2个方法都没有进行同步,很可能在openConnection方法中会多次创建connect;第二,由于connect是共享变量,那么必然在调用connect...到这里,可能会有朋友想到,既然不需要在线程之间共享这个变量,可以直接这样处理,在每个需要使用数据库连接的方法中具体使用时才创建数据库链接,然后在方法调用完毕再释放这个连接。比如下面这样: ?...首先我们来看一下ThreadLocal类是如何为每个线程创建一个变量的副本的。   先看下get方法的实现 ?...至此,可能大部分朋友已经明白了ThreadLocal是如何为每个线程创建变量的副本的:   首先,在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals...: ?  下面这段代码摘自:   http://www.iteye.com/topic/103804 ?

    50630

    java面试强基(21)

    何为进程? ​ 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。 ​...何为线程? ​ 线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。...与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程...一个进程中可以有多个线程,多个线程共享进程的堆和方法区 (JDK1.8 之后的元空间)**资源,但是每个线程有自己的程序计数器、虚拟机栈和 **本地方法栈。 ​ ...程序计数器主要有下面两个作用: 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,:顺序执行、选择、循环、异常处理。

    13650

    Django-Multitenant,分布式多租户数据库项目实战(PythonDjango+Postgres+Citus)

    支持的 API Python/Django 支持分布式多租户数据库, Postgres+Citus。...构建多租户数据库的架构包括:为每个租户创建一个数据库、为每个租户创建一个 schema 和让所有租户共享同一个表。...这个库基于第三种设计,即让所有租户共享同一个表,它假设所有租户相关的模型/表都有一个 tenant_id 列来表示租户。...以下链接更多地讨论了何时以及如何为您的多租户数据库选择正确架构的权衡: https://www.citusdata.com/blog/2016/10/03/designing-your-saas-database-for-high-scalability.../ 关于多租户的其他有用链接: https://www.citusdata.com/blog/2017/03/09/multi-tenant-sharding-tutorial/ https://www.citusdata.com

    1.9K10

    Java并发编程:深入剖析ThreadLocal

    很显然,在多线程中使用会存在线程安全问题:第一,这里面的2个方法都没有进行同步,很可能在openConnection方法中会多次创建connect;第二,由于connect是共享变量,那么必然在调用connect...那么大家来仔细分析一下这个问题,这地方到底需不需要将connect变量进行共享?事实上,是不需要的。...到这里,可能会有朋友想到,既然不需要在线程之间共享这个变量,可以直接这样处理,在每个需要使用数据库连接的方法中具体使用时才创建数据库链接,然后在方法调用完毕再释放这个连接。...首先我们来看一下ThreadLocal类是如何为每个线程创建一个变量的副本的。   先看下get方法的实现: ?   ...至此,可能大部分朋友已经明白了ThreadLocal是如何为每个线程创建变量的副本的:   首先,在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals

    27620

    Python多进程多线程对比

    何为进程?何为线程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。...另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。...一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。...就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(某个信号量),逻辑上不可执行。...有两种办法,一种是用C语言写函数,Python调用C语言链接库,这个太难(毕竟会C语言的Python程序员太少了),我来讲第二种方法,使用多进程(multiprocessing库)。

    63220

    什么是线程和进程?

    何为进程? 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。...何为线程? 线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。...为什么堆和方法区是线程共享的呢? 2.2. 程序计数器为什么是私有的?...程序计数器主要有下面两个作用: 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,:顺序执行、选择、循环、异常处理。...一句话简单了解堆和方法区 堆和方法区是所有线程共享的资源,其中堆是进程中最大的一块内存,主要用于存放新创建的对象 (所有对象都在这里分配内存),方法区主要用于存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等数据

    85630

    深入理解ThreadLocal

    很显然,在多线程中使用会存在线程安全问题:第一,这里面的2个方法都没有进行同步,很可能在openConnection方法中会多次创建connect;第二,由于connect是共享变量,那么必然在调用connect...那么大家来仔细分析一下这个问题,这地方到底需不需要将connect变量进行共享?事实上,是不需要的。...到这里,可能会有朋友想到,既然不需要在线程之间共享这个变量,可以直接这样处理,在每个需要使用数据库连接的方法中具体使用时才创建数据库链接,然后在方法调用完毕再释放这个连接。...首先我们来看一下ThreadLocal类是如何为每个线程创建一个变量的副本的。   先看下get方法的实现: ?  ...至此,可能大部分朋友已经明白了ThreadLocal是如何为每个线程创建变量的副本的:   首先,在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals

    36330

    Java并发编程:深入剖析ThreadLocal

    很显然,在多线程中使用会存在线程安全问题:第一,这里面的2个方法都没有进行同步,很可能在openConnection方法中会多次创建connect;第二,由于connect是共享变量,那么必然在调用connect...那么大家来仔细分析一下这个问题,这地方到底需不需要将connect变量进行共享?事实上,是不需要的。...到这里,可能会有朋友想到,既然不需要在线程之间共享这个变量,可以直接这样处理,在每个需要使用数据库连接的方法中具体使用时才创建数据库链接,然后在方法调用完毕再释放这个连接。...首先我们来看一下ThreadLocal类是如何为每个线程创建一个变量的副本的。   先看下get方法的实现: ?    ...至此,可能大部分朋友已经明白了ThreadLocal是如何为每个线程创建变量的副本的:   首先,在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals

    71590

    Linux 提权总结

    sudo 和 suid 提权 何为suid 可见在权限位置有一个s权限。那么这个s的作用是什么呢? 答案是当其他用户执行该文件时,该文件会以root的身份执行。...command 进行提权到root 6.exim exim在特定版本下会有suid提权 下载exp打就完事了 rbash 绕过 何为rbash rbash,是出于安全性考虑的一个功能受限的bash,...通常 root 用户会手动创建 /bin/binary_file -> /home/rbash_user/bin/binary_file 的软链接, 限制性地提供部分 binary_file 给 rbash_user...bin里的命令复制过来就行了 直接更改PATH/SHELL变量 键入export -p 查看该用户的变量 如果这俩变量有w权,那么我们可以直接写入来bypass ssh bypass 原理是通过ssh链接当前...同时用户有修改自己环境变量的权限, 我们就可以通过劫持system函数里调用的脚本文件,使其指向我们环境变量里自行创建的一个同名脚本文件,那么这个我们自行创建的同名脚本文件就能以root权限运行了,如果这个脚本文件里的命令是

    6.2K20

    如何免费获得Microsoft Office?

    您可以直接在浏览器中打开和创建 Word、Excel 和 PowerPoint 文档。...单击应用程序图标( Word、Excel 或 PowerPoint)以打开该应用程序的 Web 版本。 您还可以将文件从计算机拖放到 Office。com 页面上。...任何为 Microsoft 365 Home(以前称为 Office 365 Home)付费的人都可以与最多五个其他 Microsoft 帐户共享它。...这非常方便:共享是通过Microsoft帐户网站上的Office“共享”页面进行管理的。该帐户的主要所有者可以添加其他五个 Microsoft 帐户,并且每个帐户都将收到一个邀请链接。...它类似于Microsoft Office的桌面版本,甚至可以使用和创建常见文件类型(DOCX文档,XLSX电子表格和PPTX演示文稿)中的Office文档。

    11.8K40

    如何在CentOS 7上安装和配置ownCloud

    介绍 ownCloud是一个文件共享服务器,允许您将个人内容(文档和图片)集中存储在此位置,就像Dropbox一样。与ownCloud的不同之处在于它是免费的开源软件,允许任何人使用和检查它。...关于自签名证书,你可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。...接下来,创建一个单独的MySQL用户帐户,该帐户将与新创建的数据库进行交互。从管理和安全角度来看,创建单功能数据库和帐户是一个好主意。与数据库的命名一样,选择您喜欢的用户名。...单击相应的按钮或链接以进入ownCloud设置页面。 你应该看到这样的东西: 通过选择用户名和密码来创建管理员帐户。出于安全考虑,建议不要对用户名使用“admin”之类的内容。...存储内容可以在用户之间共享,也可以在外部与公共URL共享,ownCloud的优点是信息安全地存储在您控制的位置。 浏览界面和其他功能,使用ownCloud的应用商店安装插件。

    3.6K00

    A Big Picture of Kubernetes

    于是,我们不禁要问几个问题: 何为云原生? 什么样的应用才能称作“云原生应用”? 云原生应用与传统后台应用有何区别? 2.1 何为云原生?...其次,这个方向也足够主流与实用,看看业内如火荼的各种技术峰会、培训课、岗位招聘。云原生不是那种没有使用价值的“屠龙之技”,值得深入去钻研。 3. 何为 k8s?提供什么能力?解决什么问题?...容器管理(Container): 创建、调度、状态监控、自动伸缩。 服务管理(Service): 发布升级、服务发现与负载均衡。...5.7 同一个 Pod 内的容器可否使用共享内存通信? 答:可以。...同一个 Pod 内的容器共享同一个 IPC 命名空间,它们可以使用标准的进程间通信方式来互相通信,比如“SystemV 信号量”与“POSIX 共享内存”。

    79020

    内网渗透|HASH与横向移动

    UNC路径就是类似\softer这样的形式的网络路径,unc共享就是指网络硬盘的共享: 当访问softer计算机中名为it168的共享文件夹,用UNC表示就是\softer\it168;如果是softer...使用超链接 这里使用超链接窃取hash的原理跟LLMNR欺骗有类似之处,都是访问一个不存在的路径/程序,从而达到在本地子网发送请求的效果。...使用RTF 何为rtf? ****富文本格式**(**Rich Text Format**)即**RTF格式**,又称*多文本格式*,是由微软公司开发的跨平台文档格式。...rtf文件的创建主要是为了方便在不同操作系统下创建的文件能够在多个操作系统之间进行传输和查看 生成一个test2.rtf,内容如下所示 {\rtf1{\field{\*\fldinst {INCLUDEPICTURE...通过IncludePicture 何为IncludePicture?

    1.1K40

    如何在Debian 9上安装和配置ownCloud

    介绍 ownCloud是一个开源文件共享服务器和协作平台,可以将您的个人内容(文档和图片)存储在一个集中的位置。这使您可以通过不依赖Dropbox等第三方内容托管服务来控制您的内容和安全性。...关于自签名证书,您可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。...如果您的语法检查已通过,请重新加载Apache服务以激活新的更改: sudo systemctl reload apache2 Apache现在应该知道如何为自己的Cloud文件提供服务。...单击相应的按钮或链接以转到ownCloud管理页面。 您应该在浏览器中看到ownCloud Web配置页面。 通过选择用户名和密码来创建管理员帐户。...内容可以在用户之间共享,也可以在外部与公共URL共享 ownCloud的优点是信息存储在您无需第三方控制和管理的地方。 浏览界面和其他功能,使用ownCloud的应用商店安装插件。

    2.2K30

    Java并发编程:深入剖析ThreadLocal

    很显然,在多线程中使用会存在线程安全问题:第一,这里面的2个方法都没有进行同步,很可能在openConnection方法中会多次创建connect;第二,由于connect是共享变量,那么必然在调用connect...那么大家来仔细分析一下这个问题,这地方到底需不需要将connect变量进行共享?事实上,是不需要的。...到这里,可能会有朋友想到,既然不需要在线程之间共享这个变量,可以直接这样处理,在每个需要使用数据库连接的方法中具体使用时才创建数据库链接,然后在方法调用完毕再释放这个连接。...首先我们来看一下ThreadLocal类是如何为每个线程创建一个变量的副本的。   先看下get方法的实现: ?    ...至此,可能大部分朋友已经明白了ThreadLocal是如何为每个线程创建变量的副本的:   首先,在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals

    39540
    领券