自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小城大龄程序员

随意记录一些编程日常

  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

原创 链表数据结构

顺序存储的数组大小一旦定义了就不能改变,但是链式存储的链表可以随时增减链表里面元素的数量。适用于需要进行大量增添和删除元素操作而对访问元素无要求的,及预先无法确定大小的数据集合。添加数据与删除数据的操作时间复杂度都是 O(1)。链表里面插入和删除元素速率高,你不需要移动里面很多的元素就可以做到。链表是一种用于计算机中存储与组织数据的结构,链表将数据以节点的形式串联起来,其存储的容量大小可以动态伸缩。不能按照序号对数据进行随机访问。数组可以通过下标获得任意一个位置的元素,链表必须迭代找到某一个元素。

2023-02-16 12:29:14 436 1

原创 三表轮换实现清理MySQL大表数据

一个应用的日志表,假设每天十多万条数据落库,应用中仅需要查询其最近七天的数据来计算报表,这种情况下,超过了七天的数据就是过期数据,如果要快速删除这种过期数据就不能用DELETE来操作了。冗余表的作用是当某天来临,该表由蓝色切换为绿色状态时,就已存储了前6天的数据,避免了多表查询,且让前一个表转换成红色状态后的数据可以删除。将原来的数据表按月的天数动态拆分为A,B,C 三个表,这三个表按月份中的天数轮流切换写,因此过期的数据就自动隔离在过期的数据表里了,只要删除表即删除了过期数据。

2023-01-11 19:03:57 566

原创 C语言数值运算易错点总结(整理中)

即:00000000 +(~00000001+1)=00000000+11111111=11111111。无符号数A-B,可以和补码表示的有符号数一样,转化成,A+(B的补码),即A+(~B+1 )。在C语言中不允许对数组进行动态的定义,定义数组时的长度必需为常量。11111111 =-128 转为无符号数时为255。无符号整数运算自减运算。

2022-10-06 14:18:53 674

原创 配置JIT提高PHP8性能的实验笔记

PHP8已发布挺久了,PHP8的JIT功能着实让PHP性能提升不少,先上图看下效果吧。测试代码php.php<?phpfunction t(){$r = 0;for ($c = 0; $c < 1000000000; $c++) { $r += $c;}}t();node.jsvar r = 0

2022-05-25 15:10:49 2088

原创 Ubuntu22.04安装网易云音乐实操笔记

ubuntu22.04发行后,因为一些库位置的变动,导致应用程序不能正常运行,网易云音乐没有更进升级,结合网友们的智慧自己动手,现已修复能用了。在此,总结下来正确的操作笔记,让更多网友少走弯路。去官方下载网易云音乐客户端安装包,选择 Ubuntu18.04版的DEB包。桌面环境下点击包,正常安装。安装缺少的动态依赖库$ cd /opt/netease/netease-cloud-music$ ldd n

2022-05-21 13:00:03 7050 13

原创 优化LINUX系统网卡MTU值学习笔记

最大传输单元Maximum Transmission Unit, MTU)说明检查 :使用ifconfig 或 ip addr show 即可查看MTU,响应类似如下:anbox0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500…lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536使用ping IP -s 8500判断对端支持巨型帧的大小。临时设置方式:ifconfig ${interfa

2022-04-23 12:49:54 998

原创 安装Ubuntu 22.04 LTS后设置漂亮的DOCK

安装Ubuntu 22.04 LTS 后要做的事情

2022-04-17 21:25:08 9508

原创 创建ubuntu快捷图标示例(oss 浏览器)

oss浏览器没有快捷启动图标,每次都要进到目录去执行文件。参考Desktop Entry Specification动手搞一个,记录下备忘。新增/usr/share/applications/oss.desktop[Desktop Entry]Version=1.0NoDisplay=falseName=OSS BrowserName[en]=OSS BrowserName[zh_CN]=OSS 浏览器Name[zh_HK]=OSS 瀏覽器Name[zh_TW]=OSS 瀏覽器Gener

2022-03-30 10:53:54 521

原创 阿里云数据盘挂载完整过程

显示数据盘fdisk -l数据盘分区输入fdisk /dev/vdb,然后根据下图的提示,输入n,p,1,回车,回车,wq,保存退出。/dev/vdb是要挂载的数据盘,在操作系统内核中的名称。在分区中创建文件系统(格式化)mkfs.ext4 /dev/vdb1挂载到操作系统的目录上mount /dev/vdb1 /mnt/mnt就是挂载的目录。为了开机后自动挂载,还需要在/etc/fstab中配置如下内容UUID=d1bdc014-7d45-48fc-851b-48b167dc17

2022-03-24 15:28:45 9021

原创 动手码个好看的终端进度条

动手码个好看点的终端进度条,先上效果图:头文件 progress.h#ifndef progress_h#define progress_h#include <stdio.h>typedef struct { char *title; int max; float offset; char *proc;} progress_t;extern void progress_init(progress_t *, char *, int);exter

2022-03-07 19:14:13 176

原创 HTTP服务获取客户端真实IP的学习笔记

HTTP服务获取客户端IP主要依赖于HTTP请求头,主要有以下3类:REMOTE_ADDR 是服务端通过与客户端的链接,设置的HTTP请求头。远程 IP可能是用户的真实IP,也有可能是用户通过代理链接服务端时的代理IP。X-Forwarded-For是一个 HTTP 扩展头。HTTP/1.1(RFC 2616)标准中并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP,现在已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写

2022-01-24 12:10:51 3421

原创 配置dash

安装dconf-editorsudo apt install dconf-editor打开dconf-editor,修改如下配置项/org/gnome/shell/extensions/dash-to-dock/autohide=on/org/gnome/shell/extensions/dash-to-dock/autohide-in-fallscreen=on/org/gnome/shell/extensions/dash-to-dock/dash-max-icon-size=32/org

2021-10-18 08:42:46 148

原创 Linux操作系统中C语言库

概览使用场景新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入使用场景将远程文件新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用

2021-09-30 15:32:35 392

原创 MYSQL数据库操作笔记

function getItems($prefix, $attributes) { $items=[]; for ($i = 1; $i <=9999999; $i++) { $attributes['sn']=sprintf("%d%07d",$prefix,$i); $items[]= $attributes; if($i% 1000==0){

2021-09-22 19:02:11 387

原创 反编译C语言程序学习笔记

编写程序实例#include <stdio.h>void main(){ int condition =0; if(condition==1){ printf("success\r\n"); }else{ printf("failure\r\n"); }}编译程序在不熟悉二进制情况下,先使用编译器的-g选项,使得objdump可以打印出程序明文字符gcc -g main.c main执行程序结果是failure,$ ./mainfailure反编译程序obj

2021-09-11 12:32:19 2447 1

原创 PHP通过FFI调用C语言动态库

编辑C语言测试库源码//File: libtest.cint fnadd(int a,int b){ return a+b;}int fnsub(int a,int b){ return a-b;}编译库$ gcc -shared -fPIC libtest.c -o libtest.soPHP语言调用代码<?php//File:index.php$lib_path = '<PATH>/libtest.so';//将<PAT

2021-09-09 10:51:21 991

原创 Ubuntu系统环境中C语言开发配置备忘笔记

搭建环境操作系统:ubuntu 18.04 LTSCPU:intel 64bit编译器:GCC调试器:GDB # 安装C/C++的编译工具包,包括libc6-dev,gcc与make工具.更多内容可查看该包依赖, $ apt depends build-essential$ sudo apt-get install build-essential #简化Debian软件包维护者的......

2020-05-06 11:52:55 1604

原创 联合体(各成员类型数据共用一块内存的特殊结构体)

联合体联合体是一个结构(相对于普通结构体而言,联合体中各成员类型数据共用一块内存);它的所有成员相对于基地址的偏移量都为0;此结构空间要大到足够容纳最"宽"的成员;其对齐方式要适合其中所有的成员;联合体内存空间的大小当设置内存对齐模式为8的时候:联合体所占内存空间的大小=内存对齐(结构体内最"宽"的成员(10Byte))=16Byte#include "stdio.h"#pr...

2020-05-06 11:14:53 1313

原创 Linux平台上安装Nodejs

Linux平台上安装Nodejs概述下载最新版本二进制存档安装步骤其它概述Node.js® 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。在Linux操作系统平台上可以通过几种不同的方式安装(详情点这里)。在这篇博文里仅介绍通过Node.js的二进制存档文件来安装。这种安装方式比源码编译方式安装省事一点点。下载最新版本二进制存档点这里下载安装步骤解压 二进制...

2020-04-27 10:21:21 252

原创 深度(Deepin)Linux操作系统中安装Docker和Docker Compose

系统版本:Deepin 15.11(其它版本未测试)安装 Docker卸载老版本的docker$ sudo apt-get update$ sudo apt-get remove docker docker-ce docker-engine docker.io containerd.io runc下载最新版本Docker点这里下载推荐选择19.x以上版本,允许非 root 用户运行守...

2020-01-19 22:10:54 1577

原创 通过git发布程序到站点

关键源码#!/bin/shgit archive --format=tar --remote=ssh://username@ip:port/path.rep release | sudo -Hu www tar xf - -C /webhome/site

2020-01-16 21:09:24 162

原创 Linux环境下制作Linux系统启动U盘操作备忘笔记

1.下载系统镜像2.插入U盘3.查看U盘$ sudo df -h4.卸载 U盘$ sudo umount /dev/sdb15.分区,分区前先备份U盘中有用的数据$ sudo fdisk /dev/sdb$ d #删除老的分区$ g #建立GPT分区$ w #写入6.将镜像写入U盘$ sudo dd if=/path/linux.iso of=/dev/sdb bs...

2020-01-13 10:11:35 411

原创 curl学习笔记

$fields = "authenticity_token={$authenticity_token}&user[email]={$user}&user[password]={$pw}&Login=登录";$cookie_file = dirname(__FILE__).'/cookie.txt';$url="uil/api/login2"; $ch = cur...

2019-12-23 10:17:03 197

翻译 cogl图形库学习笔记

#下载https://gitlab.gnome.org/GNOME/cogl.gitCogl currently only requires:• OpenGL ≥ 1.3 (or 1.2 + multitexturing), or OpenGL ES 2.0 (or 1.1)• GLX, AGL, WGL or an EGL implementationCogl also has opt...

2019-10-26 10:28:01 642

原创 C语言利用宏实现命名空间的部分功能

文件:difflib.h#ifndef DIFFLIB_H_#define DIFFLIB_H_void difflib_echo(char *);#ifdef DIFFLIB_NAMESPACE#define echo(...) difflib_echo(__VA_ARGS__)#endif#endif文件:difflib.c#include <stdio.h&...

2019-09-30 10:53:58 340

翻译 sshd 中文使用说明书

sshd 中文使用说明书名称 sshd - OpenSSH SSH 守护进程语法 sshd [-46Ddeiqt] [-b bits] [-f config_file] [-g login_grace_time] [-h host_key_file] [-k key_gen_time] [-o option] [-p port] [-u len]描述

2017-06-13 10:31:38 1428

原创 Linux系统下Tomcat多实例安装及配置说明

Linux系统下Tomcat多实例安装及配置说明概述Tomcat不是一个完整意义上的Jave EE(j2ee)服务器,因为它没有提供完整的Java EE企业应用平台的API。但是由于Tomcat遵循apache开源协议,并且对当前Java开发框架开源组件Structs、Spring和 Hibernate等实现完美支持,因此tomcat被众多企业用来部署配置众多的Java应用程序,实现替代一些商业的J...

2017-06-12 18:23:55 1508

原创 Linux操作系统的服务管理笔记

服务(service)服务是指以守侯进程(daemon)方式常驻内存提供功能的程序。 如httpd服务,mysqld服务 服务的命名规范 通常在服务的名称之后会加上一个 d ,d 代表的就是 daemon 的意思服务分类按启动方式分类1.stand alone 可以自行启动的服务。 2.super daemon 这一种服务的启动方式则是藉由一个统一的 daemon 来负责唤起服务,这

2017-06-09 15:26:39 532

原创 Linux操作系统操作笔记

Centos6/7操作系统服务器初始化流程说明修改主机名 假设将主机名设置为:domain.com1.修改主机名shell > hostname "domain.com"2.让系统重启后还使用修改后的主机名shell > vi /etc/sysconfig/network #centos 6 #HOSTNAME=localhost.localdomain HOSTNAME=domain.co

2017-06-09 14:47:30 953

转载 Linux系统文件属性操作命令说明

lsattr  语法: lsattr [-aR]   参数说明:     -a :将隐藏文件的属性也列出来;     -R :连同子目录的数据也一并列出来!范例: chattr +i .bash_logout ——>添加一个隐藏的“i”属性,后面再细讲 lsattr -a           ——>将当前目录的文件或目录下的文件所有属性(包括隐藏属性)列出  ————–

2017-05-03 17:22:46 435

原创 Linux挂载操作系统共享出来的目录

终端下:shell > mount //192.168.0.88/share -o user=DOMIAN\\username,pass=password /mnt/share 其中192.168.0.88是windows主机名称,share是其共享文件夹名。domain是windows主机域名,必须大写。 图形桌面主文件夹下,按Ctrl+l,输入smb://192.168.0.88,按提示

2017-05-03 17:15:06 481

转载 Linux下磁盘操作笔记

查看分区情况及数据盘名称 shell > df -lhT 查看磁盘 shell > fdisk -l 格式化磁盘 shell > mkfs.ext4 /dev/vdb [查看硬盘UUID] 方法一:shell > ls -l /dev/disk/by-uuid 方法二:shell > blkid /dev/sda5 修改硬盘UUID uuidgen 会返回一个合法的 u

2017-05-03 17:05:16 359

原创 windows操作系统服务管理

@echo 关闭PHP开发Servers...@echo 正在关闭Apache服务器...net stop Apache2.4.12@echo 正在关闭MariaDBnet stop mariadb@echo tip:删除服务可运行 sc delete ServiceName@pause

2017-05-02 17:42:52 337

原创 设置网络的bat

DHCP@echo 正在转换为DHCP网络配置...netsh interface ip set address name="本地连接" source=dhcp netsh interface ip set dns name="本地连接" source=dhcp register=PRIMARYSTATIC@echo 正在转换为STATIC的网络配置...netsh interface ip

2017-05-02 17:41:06 1010

原创 Atlas数据库中间件实操

介绍Atlas是由 奇虎360,Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。Atlas是一个位于应用程序与MySQL之间中间件。在后端DB看来,

2017-05-02 17:30:38 4990

原创 Windows系统下无线链接android

cmd console shell > netsh wlan show drivers 显示”支持的承载网络:是”,则可以执行下面的步骤。 查看承载网络状态 shell > netsh wlan show hostednetwork 开启承载网络 shell > netsh wlan set hostednetwork mode=allow 以上有两个选项:[mode=]allow|d

2017-05-02 15:27:23 468

原创 ANDROID开发笔记

export ANDROID_HOME=/opt/adt-bundle-mac-x86_64-20130917/sdk export PATH=ANDROIDHOME/tools:ANDROID_HOME/tools:ANDROID_HOME/platform-tools:ANDROIDHOME/build−tools:ANDROID_HOME/build-tools:PATH export N

2017-05-02 15:22:43 1365

转载 无限制分类表

1.分析 我们在用 php 制作网站时,分类是很重要的,在分类下面又再分类这第二个分类称为次分类,而现在大多数网站分类只分到第三类: 第一分类(父分类)–>第二分类(子分类)–>第三分类(孙分类) 这种亲缘分类越多,程序和数据库的控制就越加的复杂困难.在同一级的分类处理和控制是非常的简单的,因为只需要一个数据库来记载这一级的分类就行了,如:系统,新闻等分类,在这一级上处理是很简单的,但对一个

2017-05-02 15:20:53 644

原创 二进制位运算

清零取位要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 “”右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 “>>>”运算符,右边的位被挤掉,...

2017-05-02 15:19:31 472

转载 二分算法

int search4(int array[], int n, int v){ int left, right, middle; left = -1, right = n; while (left + 1 != right) { middle = left + (right - left) / 2; if (array[middle] <

2017-05-02 15:18:49 209

jQuery技术手册{中文版}

详细的jQuery手册文档,中文版,值得收藏

2012-09-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除