首页 文章 精选 留言 我的

精选列表

搜索[参考文献管理],共10000篇文章
优秀的个人博客,低调大师

Python多版本管理器pyenv

1.查看Linux版本 [root@web ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@web ~]# uname -a Linux web 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 2.安装依赖 [root@web ~]# yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel git xorg-x11-server-Xvfb bzip gtk3 gtk2 3.安装pyenv [root@web ~]# curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash 4.配置环境变量 [root@web ~]# cd /root [root@web ~]# cp .bash_profile .bash_profile.bak [root@web ~]# vim .bash_profile #pyenv export PATH="~/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" [root@web ~]# source .bash_profile 5.系统自带python版本为2.7.5 [root@web ~]# python -V Python 2.7.5 6.安装的pyenv版本为1.2.15 [root@web ~]# pyenv -v pyenv 1.2.15 7.升级pyenv命令 [root@web ~]# pyenv update 8.查看可用的python版本有哪些 [root@web ~]# pyenv install --list 9.安装python3.6.4、python2.7.2和python3.6.7 [root@web ~]# pyenv install 3.6.4 [root@web ~]# pyenv install 2.7.2 [root@web ~]# pyenv install 3.6.7 10.查看安装的python版本有哪些 [root@web ~]# pyenv versions * system (set by /root/.pyenv/version) 2.7.2 3.6.4 3.6.7 [root@web ~]# 11.配置root用户的python版本为3.6.4 [root@web ~]# cd /root/ [root@web ~]# pyenv virtualenv 3.6.4 root364 [root@web ~]# pyenv activate root364 [root@web ~]# pyenv global 3.6.4 (root364) [root@web ~]# python -V Python 3.6.4 12.去除当前使用的virtualenv (root364) [root@web ~]# pyenv deactivate [root@web ~]# 13.删除某个virtualenv [root@web ~]# pyenv virtualenv-delete root364 pyenv-virtualenv: remove /root/.pyenv/versions/3.6.4/envs/root364? y [root@web ~]# 14.设置/tmp目录的pyenv环境为python3.6.7 [root@web ~]# cd /tmp/ [root@web tmp]# pyenv virtualenv 3.6.7 tmp367 Looking in links: /tmp/tmpshtqhsk6 Requirement already satisfied: setuptools in /root/.pyenv/versions/3.6.7/envs/tmp367/lib/python3.6/site-packages (39.0.1) Requirement already satisfied: pip in /root/.pyenv/versions/3.6.7/envs/tmp367/lib/python3.6/site-packages (10.0.1) [root@web tmp]# pyenv activate tmp367 [root@web tmp]# pyenv local tmp367 (tmp367) [root@web tmp]# python -V Python 3.6.7 (tmp367) [root@web tmp]#

优秀的个人博客,低调大师

如何管理临时开源贡献者?

开源项目中通常有两种类型的贡献者:一种是习惯性贡献者,并且对于贡献社区有明确的想法;另一种是贡献一次或者两次的人,称为“临时开源贡献者”。关注第一种贡献者对于开源项目和社区自然是有好处的,但是后者呢?将时间和精力投入到这样的贡献者身上会有好的结果吗? 什么是临时贡献者? 近年来,临时贡献者的数量不断增加,这些贡献者是有条件地而不是定期地进行贡献。贡献不再被视为对社区的义务,而是基于个人的可用性、意愿和做出贡献所能获得的收益。 这种临时贡献者的崛起不是一朝一夕的事,也不是仅仅因为这些人自己的决策而发生的,其中存在一些外部因素助推了这种情况,包括贡献流程和对贡献者的回馈等。 独特的好处 尽管大多数开源代码项目都倾向于采用习惯性的贡献者,但是拥有临时的贡献者并不是一件坏事。实际上,研究表明,他们可以为开源项目提供一些独特的好处。由于他们的视野开阔,他们可以确定其他仅专注于一个项目的人可能看不到的问题和改进点。通过在社交媒体和其它媒体上传播有关该项目的信息,他们可以提高创新和软件质量,以及项目的采用和知名度。 临时贡献者能够在项目的许多不同方面进行工作,而且通常已经是项目社区的一部分,因此,培养和留住他们是明智的。他们已经对项目和社区非常熟悉,并且有可能成为习惯性贡献者。 让临时贡献者保持贡献 但是,如何留住这些临时贡献者呢?这些类型的贡献者是由一组不同的动机驱动的,并且行为会比较不同,因此要保持他们的兴趣,甚至使他们成为习惯性贡献者,可能还需要额外的努力。可以采取以下步骤: 降低准入门槛。让项目贡献的接受过程尽可能简单直接。另外,由于许多临时贡献者是初学者或非代码贡献者,因此他们做出的贡献更简单,只需要很少的精力并且可以很快完成。因此,需要确保项目/社区中具有这种类型的任务,而且这些任务的不是重点,并且不需要特殊技能。可以尝试将大型任务分解为更小、更可行的任务。 明确非编码活动。如前所述,很多临时贡献者都是非代码贡献者,但他们的工作仍然值得赞赏。确保项目/社区有一种方法来明确他们的贡献,这样他们更有可能留下来。 为社交创造机会。与社区中的其他成员建立联系可以使临时贡献者更好地了解如何成为一名更加专注的贡献者,并使他们可以向更有经验的贡献者学习。这样还可以帮助他们更好地建立社区认同并培养忠诚度。社区需要确保拥有多种沟通方式和面对面的社交机会。 有一个相对固定的发布时间表。许多临时贡献者愿意并致力于项目,但却很忙,如果有固定的发布时间表,他们将能够更好地规划其贡献。 与临时贡献者联系。如果你欢迎他们,会让他们感到更加欢喜,并且更有可能留下来。努力去了解他们,并认识他们的能力。向这些贡献者发出个人邀请,邀请他们参加社区活动。重点是要了解他们的技能和成就,并请求他们在其专业领域提供帮助。 本文为翻译,原文链接: https://sourceforge.net/blog/managing-casual-open-source-contributors

优秀的个人博客,低调大师

Tablestore入门手册-数据管理-GetRow

GetRow接口概述 GetRow接口用于读取一行数据,是Tablestore最基础的API之一。官方提供了Java、Go、Node.js、Python、PHP、C#、C++ SDK。本文以Java代码为例,对GetRow接口进行详细说明。 基本使用说明 参数说明 参数名称 是否必填 参数说明 PrimaryKey 是 主键,所有主键都需要填写 ColumnsToGet 否 需要读取的列的集合,若不设置则读取所有列 MaxVersions MaxVersions 与 TimeRange 至少设置一个 最多读取多少个版本 TimeRange MaxVersions 与 TimeRange 至少设置一个 要读取的版本范围 Filter 否 过滤器,在服务端对读取结果进行过滤 Java代码示例 public void getRow() { //构造主键,主键列必须全部指定 PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder(); primaryKeyBuilder.addPrimaryKeyColumn(PK1, PrimaryKeyValue.fromLong(1L)); primaryKeyBuilder.addPrimaryKeyColumn(PK2, PrimaryKeyValue.fromString("string")); PrimaryKey primaryKey = primaryKeyBuilder.build(); SingleRowQueryCriteria criteria = new SingleRowQueryCriteria(TABLE_NAME, primaryKey); //设置读取的版本数为1,即读取最新版本 criteria.setMaxVersions(1); GetRowRequest getRowRequest = new GetRowRequest(criteria); GetRowResponse getRowResponse = syncClient.getRow(getRowRequest); Row row = getRowResponse.getRow(); System.out.println("读取行完毕, 结果为: "); System.out.println(row); } 多版本数据读取 表格存储支持多版本数据存储,具体参考开发指南。 1.MaxVersions 指定maxVersions,返回最新的几个版本。例如:某一行的某一列有20个历史版本,设置maxVersions为10,返回的是最新的10个版本。 SingleRowQueryCriteria criteria = new SingleRowQueryCriteria(TABLE_NAME, primaryKey); // 设置读取最新版本 criteria.setMaxVersions(10); 2.TimeRange 每一个版本都有一个对应的版本号,这个版本号默认是一个毫秒级的时间戳,用户也可以自己指定版本号,读取出来的时候可以按时间范围取值,返回范围内的版本列。 SingleRowQueryCriteria criteria = new SingleRowQueryCriteria(TABLE_NAME, primaryKey); TimeRange timeRange = new TimeRange(1418380771, 1418390771); criteria.setTimeRange(timeRange); 宽行读取 有很多数据列的行,我们称为宽行。因为数据列非常多,受网络带宽、延迟等因素的影响,我们无法一次性读出来,这里介绍几种宽行的读取方法。 1.使用ColumsToGet读取指定列 ColumsToGet参数,允许用户指定需要读取的列。 SingleRowQueryCriteria criteria = new SingleRowQueryCriteria(TABLE_NAME, primaryKey); // 设置读取某些列 criteria.addColumnsToGet(new String[] {"Col1","Col2","Col3"}); 2.使用startColumn,endColumn读取一定范围的属性列 通过startColumn和endColumn指定宽行中某个范围内的列,按照字典序对列进行排序比较。 SingleRowQueryCriteria criteria = new SingleRowQueryCriteria(TABLE_NAME, primaryKey); criteria.setStartColumn("col0"); criteria.setEndColumn("col3"); 3.使用ColumnPaginationFilter配合startColumn翻页读取 ColumnPaginationFilter有两个参数,limit和offset,使用ColumnPaginationFilter读取时,会跳过offset个属性列,然后读取limit个属性列。配合startColumn使用时,会从startColumn开始,跳过offset个属性列,读取limit个属性列。这种方式适合分页读取属性列的场景。 SingleRowQueryCriteria criteria = new SingleRowQueryCriteria(TABLE_NAME, primaryKey); // 设置从Column0开始读 criteria.setStartColumn("Column0"); // 使用ColumnPaginationFilter设置一次要读取的列数, limit=10, offset=0 criteria.setFilter(new ColumnPaginationFilter(10, 0)); 使用过滤器 表格存储过滤器的过滤条件支持算术运算(=、!=、>、>=、<、<=)和逻辑运算(NOT、AND、OR),支持最多 10 个条件的组合。过滤器的具体使用说明请参考:过滤器使用说明。 1.单条件过滤器:SingleColumnValueFilter 表格存储中的数据是稀疏矩阵形式的,每一行的列可能都不一样,对于不存在某一列的行,可以使用PassIfMissing参数来设置期望的过滤形式。passIfMissing为True代表如果这一列不存在也返回,为false代表这一列不存在就不返回。 // 设置过滤器, 当 Col0 的值为 0 时返回该行。 SingleColumnValueFilter singleColumnValueFilter = new SingleColumnValueFilter("Col0", SingleColumnValueFilter.CompareOperator.EQUAL, ColumnValue.fromLong(0)); // 如果不存在 Col0 这一列, 也不返回。 singleColumnValueFilter.setPassIfMissing(false); 2.多条件过滤:CompositeColumnValueFilter 多条件过滤器,可以通过组合多个算术运算符号达到多条件组合过滤的效果。 // composite1 条件为 (Col0 == 0) AND (Col1 > 100) CompositeColumnValueFilter composite1 = new CompositeColumnValueFilter(CompositeColumnValueFilter.LogicOperator.AND); SingleColumnValueFilter single1 = new SingleColumnValueFilter("Col0", SingleColumnValueFilter.CompareOperator.EQUAL, ColumnValue.fromLong(0)); SingleColumnValueFilter single2 = new SingleColumnValueFilter("Col1", SingleColumnValueFilter.CompareOperator.GREATER_THAN, ColumnValue.fromLong(100)); composite1.addFilter(single1); composite1.addFilter(single2); // composite2 条件为 ( (Col0 == 0) AND (Col1 > 100) ) OR (Col2 <= 10) CompositeColumnValueFilter composite2 = new CompositeColumnValueFilter(CompositeColumnValueFilter.LogicOperator.OR); SingleColumnValueFilter single3 = new SingleColumnValueFilter("Col2", SingleColumnValueFilter.CompareOperator.LESS_EQUAL, ColumnValue.fromLong(10)); composite2.addFilter(composite1); composite2.addFilter(single3);

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册