
学习
文章平均质量分 71
Anglry
一个正在思考前途,但却干着没有钱途的工作,日常清理桌上碎发的程序猿
展开
-
thrift文件解读
通过维护Thrift格式的IDL(接口描述语言)文件(注意写好注释),即可作为给Client使用的接口文档使用,也自动生成接口代码,始终保持代码和文档的一致性。且Thrift协议可灵活支持接口的可扩展性。一、简介thrfit是跨语言的rpc框架,这里介绍thrift文件的定义(各种数据类型)和生成接口方式。二、thrift数据类型和结构thrift数据类型和结构,官网地址:http://thrift.apache.org/docs/types1、基本类型这里直接引用官网上的定义,很好理解...转载 2022-01-07 16:05:16 · 744 阅读 · 0 评论 -
Mysql主从
主从数据库关键维护命令原创 2021-12-01 16:56:10 · 247 阅读 · 0 评论 -
go 调用elasticsearch (本地环境)
//建立连接 这里的elastic.SetSniff(false) 取消node判断,在本地只有一个es服务的情况下client,err = elastic.NewClient(elastic.SetErrorLog(errorlog),elastic.SetURL(host),elastic.SetSniff(false))if err != nil{ panic(err)}//判断是否联通info,code,err := client.Ping(host).Do(context..原创 2021-08-18 16:10:06 · 263 阅读 · 0 评论 -
mysql(二) 索引
感觉要看的,要学的东西太多,好多都是表面的,知道使用,底层的了解还需要时间,不废话了直接上正题。索引:原创 2021-07-08 11:32:29 · 502 阅读 · 1 评论 -
mysql学习总结(一)
我不知道别人是怎么一个学习的流程,但是身为自学者(穷人),目前也只能东戳一下,西戳一下。先总结一下表类型和索引吧。看了好多资料一切的一切都要从mysql 5.7 5.8版本开始划分吧我记最初用mysql的表类型都还是MyISAM ,不为别的就因为它是默认的,还有在学校里老师是这样教的,还有确实效率高(快)。...原创 2021-07-07 17:40:53 · 192 阅读 · 0 评论 -
Docker 解决容器时间与主机时间不一致的问题三种解决方案
docker时间回避主机时间晚。网上有很多的方案。https://www.jb51.net/article/99906.htm我看到的基本内容就是上面的Docker容器时间与主机时间不一致通过date命令查看时间查看主机时间 1 2 [root@localhost ~]# date 2016年 07月 27日 星期三 22:42:44 CST 查看容器时间 1 2 root@b433.原创 2021-04-25 15:25:48 · 7795 阅读 · 0 评论 -
go 安装gin can‘t find package
按照提示针对in any of 的路径再GOPATH/src 文件下安装或git clone 对应的文件。注意没有指定文件路径要手动创建原创 2020-11-19 09:39:56 · 334 阅读 · 0 评论 -
nginx与php交互
用了这么的php和nginx,习惯于nginx的配置文件和ip的映射就能完成网站的部署,我就没有深入思考过php和nginx之间的联系,还是昨天被提到我才想起来之前转载过一篇我看不懂的文章是关于php-fpm的https://blog.youkuaiyun.com/Anglry/article/details/101674530 一年前的小白,每想到我居然错过了这些,闭门造车不如广开言路先说说nginx和PHP的交互过程,这边文章也是一边学一边理解一边记1> 用户先将域名或IP形式的http或h...原创 2020-09-29 11:00:12 · 1064 阅读 · 0 评论 -
遇到的最大的坑
com.mysql.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?把对应的jdbc jar包放到/usr/share/logstash/logstash-core/lib/jars/路径 下即可。可以在配置文件不用配置驱动库。https://www.cnblogs.com/Hackerman/p/11866028.html...转载 2020-09-24 17:47:39 · 633 阅读 · 0 评论 -
RabbitMQ 队列详解
https://www.cnblogs.com/ysocean/p/9251884.htmlhttps://blog.youkuaiyun.com/qq_36838191/article/details/79914274https://blog.youkuaiyun.com/qq_40378034/article/details/89714887 借鉴来源实际上对于Mq来说消息队列的使用才是最为关键,毕竟作为消息的存储体,就像redis保存缓存一样队列在数据结构的说明,先进先出,但是当消费者获取消息失败,或者..原创 2020-09-23 16:33:02 · 1840 阅读 · 0 评论 -
RabbitMQ(三) 性质
对于mq来说,它的每一个组件都是有各种性质设置的,从而来满足我们的各种需求用户生产/消费消息,这个交互的过程,是用户与交换机之间的交互。交换机 你可以设置一下性质:原创 2020-09-23 15:13:36 · 220 阅读 · 0 评论 -
RabbitMQ 基本使用流程(二)
这段时间看了不少的资料,主要是时间太多了,想学的也太多了,就什么都看了一下现在就接着总结自己的得到的东西,顺便梳理一下自己的知识面之前说过RabbitMQ的基本构成,今天把代码列出来 PHP 和GO版本两版PHP 是基于Laravel的框架做的,怎么说的那,因为最近也在看swoole 感觉只要分服务端和客户端的 最好的还是脚本 或者 像用GO去写一个服务,在服务器起一个进程,通过设置监听来判断业务的执行<?phpnamespace App\Http\Controlle...原创 2020-09-23 13:40:44 · 289 阅读 · 0 评论 -
es简述(三) 倒排索引
之前研究es的时候忽略了一个词 倒排索引,之前只知道索引 文档 词典,知道怎么用就可以了。但是我才被老大提醒,就像是我是用一个函数,我知道它的调用和实现结果是什么,但是我从没考虑过它的逻辑和实现的算法逻辑是什么,虽然这些东西在开发的时候用到的不多,但是鉴于一通百通的想法,我还是要好好想想:stay foolish stay hungry讲倒排索引,就要联系到正排索引。简单粗暴的说就是,正排索引 循环文档 找单词 就是你知道一个字的id或者某一个特性标题,再或者就是像一个...原创 2020-08-05 13:48:40 · 456 阅读 · 0 评论 -
golang使用thrift创建服务
这两天看了好多关于thrift gprc的资料和文档,但依旧有点问题,虽然服务最后跑起来了,但是要解决的还有很多问题。做一下总结 也算是自己组都梳理thrift总的来说就是一个中间件。一般用来作为扩展进行跨语言的服务开发自上而下分为四层,在程序编写中这四层是不可获取的就像是消息中心那样每一个组件都有必须的意义Transport(包含了TCP,HTTP等)网络传输有网络传输当然就有协议Protocol(JSON等)传输协议数据传输需要有载体有信道Processor 负责RPC接原创 2020-07-29 15:45:06 · 1769 阅读 · 0 评论 -
RabbitMQ 简单介绍,自我总结的开始(一)
学习消息队列我之前是直接看的Kafka,说真的一开始看的时候就已经知道了一个逻辑:生产者 消息中心 消费者Mq本身就是上面逻辑的实现 (队列的数据结构特点先进先出)生产者 建立消息队列 发布消息 等待消费者接受消费者 建立消息队列 接受指定消息队列 监听消费消息信息并获取逻辑就是这么简单 实现起来也很简单...原创 2020-07-01 17:46:35 · 203 阅读 · 0 评论 -
es简述(二)
最近一直在研究怎么设置一个自己的分词器但效果不是特别明显,有时间还是可以再看https://www.jianshu.com/p/11df87b6e8ce (光是java的环境配置,idea设置我都没搞好,还是只看了逻辑,还有点想法)分词目前也就增加和修改词典会快点,毕竟java忘得差不多了。。。咳,说一下这次要说的关于es搜索出来的匹配度会有一个评分,之前觉得这个评分有点东西,也没注意,后来发现只用评分来区别相近程度有点问题,我就找了一下资料:涉及评分的属性也就下面的,不知道全不全..原创 2020-06-30 18:11:24 · 239 阅读 · 0 评论 -
es简述
es简述ES 全称 **ElasticSearch** 是一种分布式全文搜索引擎,基于Lucene(全文搜索框架)开发而来。ES 虽然是以Lucene核心库开发的,但是却不是以它作为核心,**ES** 的贴点体现在:*分布式实时文件存储,每个字段皆能索引**集群,可扩展(理论上无上限)**高度集成的服务(RESTful风格的API,各语言客户端)*composer require elasticsearch/elasticsearch 安装elasticsearch扩展...原创 2020-05-22 11:47:47 · 867 阅读 · 0 评论 -
Mysql千万级大数据量查询优化
Mysql千万级大数据量查询优化1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或&l转载 2020-05-11 16:42:53 · 138 阅读 · 0 评论 -
mysql Explain 慢查询
explain用法和结果分析展开1. EXPLAIN简介使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。通过explain我们可以获得以下信息:表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询使用方法:expla...转载 2020-04-08 11:34:19 · 493 阅读 · 0 评论 -
kafka学习一
kafka 是一个分布式,分区的,多副本的,多订阅者,基于zookeeper协调的分布式日志系统,也可以做MQ系统,常用于web/nginx日志,访问日志,消息服务等等。主要用到 :日志收集系统和消息系统Kafka主要设计目标如下:(特点)以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机...原创 2020-03-18 17:01:16 · 248 阅读 · 0 评论 -
curl
curl是PHP的一个扩展,利用该扩展可以实现服务器之间的数据或文件传输也就是说curl就是一个工具,用来做服务器之间数据、文件传输的工具用来采集网络中的html网页文件、其他服务器提供接口数据等开启curl扩展(1)在php.ini里面开启curl这个扩展(2)将PHP的安装路径保存到环境变量的系统变量中(环境变量之间的分隔符是英文的分号)(3)重启apach...转载 2020-03-13 09:56:42 · 665 阅读 · 0 评论 -
校验用的正则表达式
1.校验11位手机号码:/^1[3456789]\d{9}$/2.校验二代身份证号码:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/3.校验电子邮箱:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-...原创 2020-03-13 09:42:41 · 1214 阅读 · 0 评论 -
简单使用phpUnit 测试小工具
在 PHPUnit 有现成的范例供你参考。每个测试类都应该以 Test 作为后缀。你可以使用 phpunit 或者 php vendor/bin/phpunit 命令来运行测试。jekins 只用打个包 就能自动 发测试...原创 2020-03-11 15:52:24 · 401 阅读 · 0 评论 -
mongoDb权限
当我按照网上对mongoDb的安装和配置,在服务器上一套流程后,mongoDb链接成功正在沾沾自喜的时候:> show dbs2020-03-05T09:44:42.657+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not authori...原创 2020-03-05 10:03:45 · 445 阅读 · 0 评论 -
Linux下安装Go环境
Linux下安装Go环境亲测可用,ubuntu18.04,转载自https://www.jianshu.com/p/c43ebab25484安装Go环境Golang官网下载地址:https://golang.org/dl/打开官网下载地址选择对应的系统版本, 复制下载链接 这里我选择的是go1.11.5.linux-amd64.tar.gz:https://dl.google...转载 2020-02-24 17:05:29 · 265 阅读 · 0 评论 -
linux下如何部署php项目?
linux下部署php项目环境可以分为两种,一种使用Apache,php,mysql的压缩包安装,一种用yum命令进行安装。使用三种软件的压缩包进行安装,需要手动配置三者之间的关系。apache和php之间的配置没有什么难度,但是和mysql进行配置的时候就需要对php的了解了。以下是用yum在linux中配置php环境:MySql 1.mysql和apache最好是首先进...转载 2020-01-17 10:29:46 · 1042 阅读 · 0 评论 -
Thrift
https://www.cnblogs.com/ddcoder/p/7647186.htmlphp版 Thrift 入门原创 2019-12-12 15:46:33 · 178 阅读 · 0 评论 -
go context
1 什么是Context最近在公司分析gRPC源码,proto文件生成的代码,接口函数第一个参数统一是ctx context.Context接口,公司不少同事都不了解这样设计的出发点是什么,其实我也不了解其背后的原理。今天趁着妮妲台风妹子正面登陆深圳,全市停工、停课、停业,在家休息找了一些资料研究把玩一把。Context通常被译作上下文,它是一个比较抽象的概念。在公司技术讨论时也经常会提到...转载 2019-11-22 10:11:45 · 191 阅读 · 0 评论 -
es 别名
#获取所有别名GET _cat/aliases?v#获取_index_name模式内所有指定别名为_alias_name模式的indexGET /_index_name/_alias|_aliases/_alias_name_alias和_aliases的区别为若指定为_aliases在查询时若_index未指定满足要求的别名在返回结果中是否包含但aliasese属性为空, 使用_ali...原创 2019-11-01 17:42:24 · 1369 阅读 · 0 评论 -
es索引数据迁移与别名
POST _reindex{ "source": { "index": "old_index" }, "dest": { "index": "new_index" }}POST /_aliases{ "actions" : [ { "add" : { "index" : "test1", "alias" : "alias1" ...原创 2019-10-29 18:38:14 · 593 阅读 · 0 评论 -
es-php 7.x 代码整理
/** * 创建索引 设置索引中的配置 映射关系 * 在使用Elasticsearch-php API的时候,参数$params一般是用数组来,因为数组结构能很方便的转换为json。其中 *_default_是默认配置,其他配置的缺省值都与_default_的相同。 * _all设置true会将所有原始文档拼接在一起额外存储, * _...原创 2019-10-29 17:18:29 · 645 阅读 · 0 评论 -
ES学习--自定义Mapping的设置和常见参数介绍
ES学习--自定义Mapping的设置和常见参数介绍通常索引的 Mapping 结构可以在创建索引时由 ElasticSearch 帮我们自动构建,字段类型由 ElasticSearch 自动推断,但这样做有一些问题,比如字段类型推断不准确,默认所有字段都会构建倒排索引等,自定义Mapping就可以解决上述这些问题,本篇经验就分享一下如何构建自定义Mapping以及相关的常用参数。工...转载 2019-10-26 16:43:04 · 1940 阅读 · 0 评论 -
es 批量操作—bulk
1、bulk语法有哪些类型的操作可以执行呢?(1)delete:删除一个文档,只要1个json串就可以了(2)create:PUT /index/type/id/_create,强制创建(3)index:普通的put操作,可以是创建文档,也可以是全量替换文档(4)update:执行的partial update操作POST /_bulk{ "delete": { "_index":...转载 2019-10-23 18:44:59 · 1743 阅读 · 0 评论 -
Ajax JS 中的Ajax jquery中的Ajax
Ajax (AsynchronousJavascriptAndXML)通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。1、Ajax的优势: 不需要插件的支持,能被大多数主流浏览器支持 优秀的用户体验,不用刷新整个页面,就能更新数据 提高web程序的性能,通过XMLHttpReq...转载 2019-08-04 00:04:07 · 120 阅读 · 0 评论 -
开始学nodejs——net模块
开始学nodejs——net模块章节目录net模块的组成部分 net.Server类 net.Socket类 事件 方法 属性 工厂方法 练习代码 netServer netSocketnet模块的组成部分详见http://nodejs.cn/api/net.html下面整理出了整个net模块的知识结构,和各个事件、方法、属性的用法net.S...转载 2019-06-24 16:41:55 · 613 阅读 · 0 评论 -
LAMP环境搭建步骤
我们知道,如果我们安装的是应用服务软件,这个软件是给外网用户访问和使用的,那么应该使用源码包安装,因为源码包安装的软件经过了本机编译,性能更好。所以我们的 LAMP 环境搭建,在生产服务器上一般采用源码包进行安装,而不会使用 RPM 包进行安装,接下来我们要讲的也是采用源码包方式搭建 LAMP 环境。LAMP 环境搭建是较为复杂的Linux实验,在进行真正的环境安装之前,需要做一些细致的准备...转载 2019-06-03 15:25:31 · 2045 阅读 · 0 评论 -
./configure && make && make install详解
在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的READMEINSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!我们都知道源码包安装分为这么几个阶段,1、./configure:“configure”会在你的系统上测试存在的特性Make:编译程序。5、cd:进入到这个源码包。现在ls一下m...转载 2019-05-27 16:56:05 · 809 阅读 · 0 评论 -
【html标签 表单隐藏域】input表单隐藏域及其使用方法
一、表单隐藏域隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。<span style="color:#000000"><code>代码格式:<input <span style="color:#000088 !important">type</...转载 2019-03-08 21:33:10 · 3912 阅读 · 0 评论 -
thinkphp中的session的使用和理解!
session的作用:session可以长时间的保存数据,不丢失。session的常用于:1.登录,保存登录信息2.保存购物车信息3.保存验证码信息定义session常量define('WXUSER', 'wxuser_session');define('MEMBER', 'member_session');define('MERCHANT', 'merchant_sess...转载 2019-02-10 12:42:52 · 800 阅读 · 0 评论 -
thinkphp中session无法跨方法获取
第一次出现的时候,我以为是目录不可写,检查了半天没发现问题,于是各种百度,才发现别人也有遇得类似问题,就是跨页传递session为空。(温馨提示:不喜欢听流水账的可以略过以下两段,直接看下面的解决措施。)我调试了一下程序,将登陆跳转后的页面print_r($_SESSION),果然为空值。最后查找资料说是要把 use_trans_sid 的值改为 1,于是在配置文件中加了一行:'SESSIO...转载 2019-02-10 12:04:03 · 1290 阅读 · 0 评论