5 序冢--磊

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

ssh自动登录

#!/usr/bin/expectset timeout 3spawn ssh root@10.64.60.103expect "*password*"send "hoopchina\r"send "sudo -s\r"send "cd ~\r"interact如果发现缺少expectsudo apt install expect

2020-08-06 10:49:03

mysql索引小结----车轮组长刘国庆的技术分享

由于mysql 底层由分析器会选择最优的索引,如果一个sql中存在多个索引,mysql 可能存在错误使用索引的情况,所以要使用强制索引,毕竟mysql 其实有点像php,有自己的词法解析器、语法解析器然后有分析器,最后才到了执行器。mysql中常见的坑1.有索引但没走sql案例:DELETE FORM testtable WHERE biz_date <= '2017-08-21 00:00:00' AND status = 2 limit 500表大小200M左右..

2020-07-29 19:05:56

进程间关系下

进程间的关系 下需要用一种方法知道哪一个进程组是前台进程,这样伪终端程序就知道将终端输入和终端产生的信号发送到何处。#include <unistd.h>pid_t tcgetpgrp(int fd);int tcsetpgrp(int fd, pid_t pgrpid);函数tcgetpgrp返回前台进程组的id,他和fd上打开终端相关联。给出控制tty的文件描述符,通过tcgetsid函数,应用程序能获得首进程的进程组id。#include <termio

2020-07-12 09:09:57

进程间关系(上)

进程间关系引言本章详细说明linux会话的概念。还将介绍登录shell和所有从登录shell启动进程之间的关系。9.2终端登录在早期的unix系统中用户用哑终端进行登录,硬件直接连接到服务器。终端是本地的或者是远程的,登录由内核中的终端设备驱动程序。随着位映射终端图像的出现,开发除了窗口系统,而另一些平台则自动为用户启动窗口系统。1.BSD终端登录自举一词来自于人都是靠自身的“自举”机构站立起来的这一思想。计算机必须具备自举能力将自己所与的元件激活,以便能完成加载操作系统这一目

2020-07-09 21:37:27

elasticsearch:or操作should及其与must/filter混用的两种实现

项目需要,又开始找虐!最近两周,因为项目上的需求,用到了elasticsearch,带着“迎难而上,不懂就学”的精神,开始了又一轮的找虐之旅。 Elastic Search这两周完成相关功能开发后,感觉整体上elasticsearch其实还是比较容易上手的,不过其中也遇到了一些问题:比如,sql中的or操作或者no操作、添加字段根据term或者match匹配无法得到预期结果、text和keyw...

2020-06-24 17:35:44

编译时 关于动态库的一些问题的解决心得--gcc 、g++、cmake 通用

其实cmake 本质也是生成makefile,我之前编译过muduo库,遇到一个问题,见git的issuehttps://github.com/chenshuo/muduo/issues/470在描述一下当时的问题,当时已经从官网上下载了boost的库./b2./b2 install但是依然出现了/tmp/ccLjGYKC.o:在函数‘__static_initialization_and_destruction_0(int, int)’中:main.cc:(.text+0x

2020-06-11 00:17:13

centos正确修改时钟的方法 永久有效

timedatectl set-timezone Asia/Shanghai hwclock --set --date "2018-12-20 16:37:30"这样是修改的硬件时钟,重启也会有效的

2020-06-10 13:01:42

linux排查动态库错误的一次总结

当时的状况在github上https://github.com/chenshuo/muduo/issues/470当时连接dll库错误 最后g++ --std=c++11 -Wl,--verbose main.cc -lboost_unit_test_framework这样就可以发现 g++查找库的路径,最后发现他找的是/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/将错误的库删掉之后 g+...

2020-06-05 15:52:34

一篇非常好的csdn上的关于cmake的笔记

一、Cmake 简介cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。 二、常用命令1. 指定 cmake 的最小版本cmake_minimum_required(VERSION 3.4.1)这行命令是可选的,我们可以不写这句话,但在有些情况下,如果 CMakeLists.txt 文件中使用了一些高版本...

2020-06-04 10:02:33

查看动态库里的函数

nm -Do /lib/x86_64-linux-gnu/*.so|grep sqrt

2020-06-02 21:00:08

第四章c++多线程系统编程精要

c++多线程系统编程精要学习多线程系统编程要面临两个思维转变:1.当前线程可能会被随时切换出去2.多线程中事件发生顺序不会再有全局的先后关系当线程被切换回来继续执行下一条语句的时候,全局数据可能已经被其他线程修改。例如在没有为指针p加锁的情况下,if(p && p->next){/**/}就有可能会 导致segfault,因为在逻辑与的前一个分支评估为true的那一刹那,p可能被其他线程设置为NULL或者被释放,后一个分支就访问了一个非法地址在单cpu系统中,.

2020-05-26 22:06:01

该如何做到线程同步---多线程服务器编程的读书笔记

四大设计原则1.尽量最低限度的使用共享对象,减少需要同步的场合。一个对象能不暴露给别的线程就不要暴露;如果要暴露,有限考虑immutable对象;实在不行才可以暴露要修改的对象;实在不行可以修改暴露的对象,并且用同步措施来保护他。2.其次是使用高级的并发编程构件,如TaskQueue,Producer-Consumer Queue,Count DownLatch;3.最后不得已必须要使...

2020-05-02 21:54:52

拷贝控制

第13章拷贝控制当定义一个类的时候,我们显示的或隐式的指定在此类型的对象拷贝、移动、赋值和销毁时候做什么。一个类通过定义5种特殊成员函数来控制这些操作,包括拷贝函数、拷贝赋值运算符、移动构造函数、移动赋值运算符和析构函数。拷贝和移动构造函数定义了当用同一类型的另一个对象初始化本对象的时候做什么.拷贝和移动赋值运算符定义了将一个对象赋予同类的另一个对象做了什么如果一个类没有定义拷贝成员,...

2020-04-30 21:38:18

一次操作mongodb的小笔记

之前安装过mongodb 这是第一次使用使用原因是线上的业务没有加索引,导致查询巨慢,所以要去线上加索引mongodb登录命令mongo --host 10.10.18.11 -u "myUserAdmin" --authenticationDatabase "admin" -p'abc123'查询数据库状态 db.stats();数据库状态查看数据库表的全...

2020-04-20 20:10:29

js同步语法

asyncfunctiontest(){for(leti=0;i<9;i++){awaitfetch("http://www.baidu.com");}}

2020-04-08 16:39:18

一份错误的程序的思考和反思,关于多线程编程中的竞态问题

直接上代码#include <memory>#include <iostream>#include <string.h>#include <vector>#include <pthread.h>using namespace std;class MutexLock{public: MutexLock()...

2020-04-03 21:35:48

关于智能指针的一个有趣的笔记

这几天比较好奇就是c++ 的智能指针在离开作用域之后是否会被销毁,疑惑点来自自己写的一段小代码void* threadOne(void* arg){ int count = 0; while (1) { printf("%d\n", 1); auto p = make_shared<Foo>(); weak_...

2020-04-02 09:35:32

redis使用规范

文章使用:https://blog.csdn.net/xwc35047/article/details/82987279在工作中使用redis一段时间,整理了一些常见问题和规范。常见问题1、全量查询元素使用 zrange key 0 -1 命令导致慢查询,这个命令直接查询全量元素,当元素个数过万会导致慢查询。2、key没有加超时时间因为redis是使用内存存储,而内存的容量...

2020-04-01 12:40:37

c++ 模板显示实参 的 参数类型推断

模板显示实参在某些情况下,编译器无法推断出模板的实参类型。其他一些情况下,我们希望用户控制模板实例化。当函数类型与参数列表中任何类型不同的时候,这两种情况最常出现。指定显示的模板实参在某些情况下,编译器无法推断出模板实参的类型。在其他一些情况下,我们希望允许用户控制模板实例化。当函数返回类型和参数列表的任何类型都不同的时候,这两种情况最常出现。指定显示的模板实参作为一个允许用户...

2020-03-25 10:17:01

模板中 类型转换与模板类型参数

类型转换与模板类型参数与非模板函数一样,我们在一次调用中传递给函数模板的实参用来初始化函数的形参。如果一个函数形参的类型使用了模板类型参数,那么采用特殊的初始化规则。只有很悠闲的集中类型转换会自动的应用于这些实参。编译器通常不是对实参类型进行转换,而是生成一个新的模板实例。与往常一样,顶层的const无论是在形参还是在实参中,都会被忽略,在其他类型转换中,能在调用中应用与函数模板的包括下面...

2020-03-23 10:29:41

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。