版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。...37933685/article/details/82047866 个人博客:https://suveng.github.io/blog/ centos linux 安装mongodb以及基本使用...sudo yum install -y mongodb-org #修改mongo的配置文件 sudo vi /etc/mongod.conf #注释掉bindIp或者修改成当前机器的某一个ip地址...#使用或创建database use xiaoniu #创建集合(表) db.createCollection("bike") #插入数据 db.bike.insert({"_id": 100001...) db.bine.find() #退出 exit #关闭mongo服务 sudu service mongod stop #设置服务开机启动 sudo checkconfig mongod on
然后编写pom文件如下,引入spring-boot-starter-security,我这里使用的spring boot是2.4.2,这里使用使用spring-boot-dependencies,在这里就能找到对应的.../check_token:用于资源服务访问的令牌解析端点 /oauth/token_key:提供公有密匙的端点,如果使用JWT令牌的话 实现授权服务器 现在我们实现一个授权服务器。...然后输入参数,参数里scope和grant_type要和AuthorizationConfig里定义的scopes和authorizedGrantTypes一样,如下。 请求后,得到结果,如上图。...使用APIFOX测试,先添加auth的token,内容是来自于上面,/oauth/token的返回值access_token的值。...比如,我们想减少http请求,把部分tokencheck在缓存内进行check,那使用oauth时,修改起来就会很头疼。如果是自己写的授权服务器,就不会有修改困难的问题。
: 【DB宝60】PG12高可用之1主2从流复制环境搭建及切换测试 【DB宝61】PostgreSQL使用Pgpool-II实现读写分离+负载均衡 有关pgpool-II的相关文档: pgpool-II...PgpoolAdmin是管理pgpool的WEB界面工具,可以对pgpool进行监控,启停服务,更改设置。 先来一张图: 今天我们就来介绍一下pgpool-II和pgpoolAdmin的使用。...您可以通过master上的postgresql.conf中的log_hostname启用DNS反向查找。 • client_port: 这是客户端用来和WALsender进行通信使用的TPC端口号。...四、部署和使用pgpool-II和pgpoolAdmin工具 4.1、快速部署pgpool-II和pgpoolAdmin工具 由于安装和配置比较繁琐,我们本文主要着重使用,所以,这里省略安装和配置过程,...具体可以参考:【DB宝61】PostgreSQL使用Pgpool-II实现读写分离+负载均衡 我们可以直接使用麦老师配置好的镜像,该镜像集成了pgpool-II和pgpoolAdmin工具,如下所示:
现在越来越多的企业级应用需要运行在国产化环境中,本文介绍下我们产品使用的中间件在国产操作系统银河麒麟的安装(不一定是最优方式,但能用)。...下图是银河麒麟服务器的信息: 想要顺利安装需要确保: 1、服务器能访问网络。想要完全离线的方式安装会更复杂,需要进一步研究; 2、修改 yum 源。...2.x 版本,因为这里 MongoDB 使用的是 3.6.19 版本。...#创建数据目录 mkdir -p /data/db #安装 /usr/local/bin/python2.7 buildscripts/scons.py --prefix=/opt/mongo install.../opt/mongo/bin/mongod /usr/local/bin/mongod --prefix=/opt/mongo 为安装目录 执行上面命令如果没有出现任何错误,就安装成功了,执行下面命令进行服务端的后端启动
-- 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 --> mongo:mongo id="mongo" replica-set..." write-number="1" write-timeout="0" write-fsync="true" /> mongo:mongo> mongo:db-factory...基于该框架写了一个微信的回调和授权(Oauth),SpringMVC+MongoDB+Maven搭建微信后台框架,包含了回调配置和授权Oauth配置 项目结构在最上面有截图哦。...#基于SpringMVC+MongoDB数据库做的微信接入等一些常用接口的DEMO 只实现了回调 和oauth 接口 1. common存放相关基础代码和微信常量 1.1 com/bdxc/plat/common...因此我全部移除了,想看效果的重新关注测试号,demo的框架换成了上面使用的SpringMVC+MongoDB+Maven整合(微信回调Oauth授权),因此有些菜单点击会有错误哦。 ?
本文主要总结一下在使用 Meteor 开发过程中对 mongodb 数据库的管理。其中包含使用命令行终端(meteor shell)进行管理,还有图形化界面的工具 Robomongo 工具。...预备知识 当使用 meteor 命令启动 meteor 项目后,meteor 会默认使用 3000 端口作为 web 项目的端口,我们可以通过 http://domainName:3000/ 这样的地址来访问我们的网站...而数据库所使用的端口,则是在这个端口基础上 +1,就是 3001 端口。...使用 meteor shell 进行管理 通过 meteor shell 管理 mongodb 不需要指定端口,你只要在 meteor 项目启动后的项目目录下执行 meteor mongo 就可以连接到数据库了..._tempstore.files friends meteor_accounts_loginServiceConfiguration meteor_oauth_pendingCredentials meteor_oauth_pendingRequestTokens
本文将告诉大家如何从 PPT 里面解析出通用元素的 x 和 y 的值,以及元素的宽度和高度的值 在开始之前请看 C# dotnet 使用 OpenXml 解析 PPT 文件 在拿到 slidePart.Slide.CommonSlideData.ShapeTree...里面的元素,几乎所有元素都存在坐标和宽度高度,这里的元素我称为通用元素,也就是不是特定的如形状、图片元素 此时的元素应该是继承 OpenXmlElement 类,在这个类里面可以通过 GetFirstChild...new Emu(offset.X.Value); var offsetY = new Emu(offset.Y.Value); 在 PPT 里面,通用元素的 x 和 y 值单位是...Emu 上面的类是我自己定义的,有可以抄的代码,请看 C# dontet Office Open XML Unit Converter 我定义了和像素转换的代码 可以通过 Extents 也就是 a:...ext 获取元素的宽度和高度,请看代码 var extents = transform2D.GetFirstChild();
导读:通过获取知乎某个大V的关注列表和被关注列表,查看该大V以及其关注用户和被关注用户的详细信息,然后通过层层递归调用,实现获取关注用户和被关注用户的关注列表和被关注列表,最终实现获取大量用户信息。..., mongo_db): self.mongo_uri = mongo_uri self.mongo_db = mongo_db @classmethod...'), mongo_db=crawler.settings.get('MONGO_DATABASE') ) def open_spider(self, spider...): self.client = pymongo.MongoClient(self.mongo_uri) self.db = self.client[self.mongo_db...作者融合自己丰富的工程实践经验,紧密结合演示应用案例,内容覆盖了几乎所有网络爬虫涉及的核心技术。
TIA 博途软件提供了一个含有固定数据格式的模板,用户使用这个模板可创建具有该格式的数据块,比如可以使用“TCON_Param”系统数据类型创建与之对应的DB。...图6 与实例化DB块相同,基于系统数据类型的DB块只存储与数据类型DB相关的数据,不能插入用户自定义的变量。可以使用相同的系统数据类型生成多个数据块。...图11 可以使用函数“ReadFromArrayDB”和“WriteTOArrayDB”等对数组DB进行类似间接寻址的访问,比如将数组DB中的变量值复制到“变量1”中,可以参考图12中的程序。...DB_ANY和VARIANT转换,DB_ANY的使用是有要求的,必须是格式固定的,使用要求参考下表(DB_ANY_TO_VARIANT的在线帮助)中的加粗标记。...可以转换 DB_ANY ...作为函数块或全局数据块中的实例化数据块 不可转换 所以说通常情况下,通过系统数据类型、用户数据类型创建的数据块、数组DB与全局DB访问和使用的方式是相同的,而在特殊的情快下
,包含MySQL,Mongo,Redis等,之所以抽离出来,是方便各个服务实例可是直接使用这些通用方法。...在这里我们主要使用到服务发现,健康检查,启动场景是:微服务实例启动的时候 Polly是.NET弹性和瞬态故障处理库,与Ocelot天然友好集成,使用也只需要在Ocelot 层添加少数配置即可使用 Exceptionless...是一款开源的实时的日志收集框架,可以使用在线或者本地搭建好的服务(如果只是本地测试建议直接使用在线的很方便),然后在微服务中配置好Url和应用的ApiKey就可以使用。...,我们可以先将核心的跑起来,再来完善他的周边,秉着这个思路,我们开始运行 四.开始启动 启动consul 开发下我们可以这样启动consul服务: ....凡是都有但是,难道要人为去配置什么场景使用哪个ip和端口的服务吗,或者说要将我们所有的服务都暴露出去吗,每个服务都加一套登录鉴权机制吗?
前言 我们之前分享如何获取当前用户,本次我们分享使用密码和Bearer 正文 OAuth2 规定在使用(我们打算用的)「password 流程」时,客户端/用户必须将 username...和 password 字段作为表单数据发送。..., username: str): if username in db: user_dict = db[username] return UserInDB(**user_dict...# 永远不要保存明文密码,因此,我们将使用(伪)哈希密码系统。 # 如果密码不匹配,我们将返回同一个错误。...代码中的: UserInDB(**user_dict) 表示: 直接将 user_dict 的键和值作为关键字参数传递,等同于: UserInDB( username
前言 我们之前分享分享使用密码和Bearer 正文 既然我们已经有了所有的安全流程,就让我们来使用 JWT 令牌和安全哈希密码让应用程序真正地安全。...三、我们看下如何使用,以及思路 创建一个工具函数以哈希来自用户的密码。...创建一个生成新的访问令牌的工具函数。 get_current_user使用的是 JWT 令牌解码,接收到的令牌,对其进行校验,然后返回当前用户。 如果令牌无效,立即返回一个 HTTP 错误。...使用令牌的过期时间创建一个 timedelta 对象。 创建一个真实的 JWT 访问令牌并返回它。...这样就完成了:使用(哈希)密码和 JWT Bearer 令牌的 OAuth2。
现在市面上可用的就是微博的t.cn和一些第三方的生成短链接工具,但这两类工具都有一些使用上的问题,例如:t.cn现在的规则是会出现一个中转页不会直接跳转,而第三方的工具因为是一个公共平台,有时可能会因一些不良信息导致整个平台无法访问...为了高效,我这使用的是node和mongodb,下面我们就来开始动手吧。...和shortid和body-parser npm install mongoose npm install shortid npm install body-parser 下面分别对使用到的这三个包简单说明一下...首先设置MongoDB的连接信息 module.exports = { mongo_base_connection_url: 'mongodb://localhost:27017', mongo_db...db"); 数据库模型定义 因为我们的对应关系是需要通过短链接查询长连接,所以这里我们主要以存储短链接和长连接为主,另外大家也可以根据自己需要添加链接点击统计之类的字段,方便后期统计。
在这里我知乎并没有登陆,这里的OAuth值是 oauth c3cef7c66a1843f8b3a9e6a1e3160e20 经过我长久的观察,这个一直不会改变,所以可以长久使用,我们将它配置到DEFAULT_REQUEST_HEADERS...= 'users' def __init__(self, mongo_uri, mongo_db): self.mongo_uri = mongo_uri self.mongo_db...= mongo_db @classmethod def from_crawler(cls, crawler): return cls( mongo_uri...=crawler.settings.get('MONGO_URI'), mongo_db=crawler.settings.get('MONGO_DATABASE')...self.db = self.client[self.mongo_db] def close_spider(self, spider): self.client.close()
思路:通过获取知乎某个大V的关注列表和被关注列表,查看该大V和其关注用户和被关注用户的详细信息,然后通过层层递归调用,实现获取关注用户和被关注用户的关注列表和被关注列表,最终实现获取大量用户信息。...(type=best_answerer)].topics' #定义请求爬取用户信息、关注用户和被关注用户的函数 def start_requests(self): yield Request..., mongo_db): self.mongo_uri = mongo_uri self.mongo_db = mongo_db @classmethod...'), mongo_db=crawler.settings.get('MONGO_DATABASE') ) def open_spider(self,...spider): self.client = pymongo.MongoClient(self.mongo_uri) self.db = self.client[self.mongo_db
导读:通过获取知乎某个大V的关注列表和被关注列表,查看该大V以及其关注用户和被关注用户的详细信息,然后通过层层递归调用,实现获取关注用户和被关注用户的关注列表和被关注列表,最终实现获取大量用户信息。...(type=best_answerer)].topics' # 定义请求爬取用户信息、关注用户和被关注用户的函数 def start_requests(self): yield..., mongo_db): self.mongo_uri = mongo_uri self.mongo_db = mongo_db @classmethod...'), mongo_db=crawler.settings.get('MONGO_DATABASE') ) def open_spider(self, spider...): self.client = pymongo.MongoClient(self.mongo_uri) self.db = self.client[self.mongo_db
docker rm mongotodocker 删除镜像 docker rmi mongo 具体每个命令都有一些参数可用,这里只是简单介绍一下使用方法。具体的文档网上很多,不一一说明了。...此时执行docker images命令可以看到本地镜像中已经有了 mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim 和 dockertest 两个镜像...docker-compose的核心是docker-compose.yml文件,看一下对应这个例子的文件内容: version: '3.4' services: demomvc: image...ASP.NET Core的项目的thisdemoimage镜像是不存在的,下面指定了build方法。当然也可以先创建好镜像然后在这里使用就像mongo服务的设置一样。...ENTRYPOINT ["dotnet", "DockerDemo.dll"] 这个文件和上面例子中我们自己创建的优点不同,它包含了4个From,第一个和最后一个和我们自己创建的有点像,只是Visual
所有的技术框架:从一个复杂的场景慢慢的衍生出来一种规范!简单的配置! ==SpringBoot :自动配置!== Springboot怎么自动配置,核心原理!当之无愧的Java领域最热门的技术!...3、SpringApplication 推断我们的应用是web应用还是 普通应用! 加载初始化! 设置监听器 推断main方法,找到运行的主类 run方法()核心!...,就会使用springboot 的默认配置 Springboot中存在大量自动动配置类 但是这些类不一定生效!...,我们假设没有配置就使用自动配置,如果配置了,就使用我们自动配置的!...架构演进推演 聊聊过去和未来!
使用 Tye 启动 mongo 首先,我们使用 Tye 来启动一个 mongo。...当然,这实际上和使用 docker-compose 没有什么实质性的区别。 创建应用程序连接 mongo 下面,我们创建一个应用,并且将应用与 mongo 进行连接。...创建测试应用,并安装必要的包: create-tye-mongo-test.sh dotnet new sln -n TyeTest dotnet new webapi -n TyeTest dotnet...,这里使用了一个扩展方法从 IConfiguration 中读取 mongo 的连接字符串: mongo 实际上就是定义在 tye 中的服务名称。...这是 tye 中组织服务之间相互连接的一种方式。其中的 connectionString 便是其他服务连接 mongo 所使用的链接串。 修改完毕之后。使用 tye run 启动应用。
此时就需要上层业务的开发者们查阅文档才能了解如何应对升级之后带来的变动 在 dotnet 里面,可以使用 Obsolete 这个编译器分析辅助特性,给某个成员,如类和属性和方法事件等标记过时。...这个 Obsolete 特性可以用来辅助库和框架开发者,在发生 API 变动时,可以保持兼容,或者提醒上层业务的开发者们如何应对 进行不兼容代码层 API 的变动,包括类名、属性名、方法名等所有公开的命名变更...利用好这个特性,就可以让库和框架在变动 API 时,更好的保持兼容性,以及对上层业务的开发者们更加友好 用一个简单的例子说明 Obsolete 特性标记对 API 兼容性的用法 如一开始我创建了一个类...通过在属性上面标记 Obsolete 特性的方式,可以做到在更改命名以及挪动方法和属性的时候,依然可以让上层业务能构建通过,同时也能告诉上层业务开发者们的更改方式 在上面代码中,依然添加了 EditorBrowsable...://blog.lindexi.com/post/dotnet-%E4%BD%BF%E7%94%A8-Obsolete-%E7%89%B9%E6%80%A7%E6%A0%87%E8%AE%B0%E6%88%
领取专属 10元无门槛券
手把手带您无忧上云