- 博客(155)
- 问答 (1)
- 收藏
- 关注
原创 MySQL:优化
在应用的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的 SQL 语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化.
2024-12-05 20:36:36
796
原创 MySQL:日志
在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL 也不例外。
2024-12-05 15:42:41
330
原创 MySQL:锁机制
锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。
2024-12-05 15:39:47
640
原创 MySQL:事务
事务操作:1、开启事务:Start Transaction2、提交事务:Commit Transaction3、回滚事务:Rollback Transaction。
2024-12-05 15:36:31
402
原创 MySQL:索引
索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。
2024-12-05 11:03:22
761
原创 MySQL:触发器
介绍:特性:注意事项:格式:操作:触发器 - NEW、OLDMySQL 中定义了 和 ,用来表示触发器的所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容.如图:使用方法:操作:查看触发器
2024-12-05 10:19:54
417
原创 MySQL:存储过程、存储函数
用户自定义,在begin/end块中有效-- 用户自定义,在begin/end块中有效语法:声明变量 declare var_name type [default var_value];举例:declare nickname varchar(32);begin-- 定义局部变量end $$delimiter;-- 调用存储过程MySQL 中还可以使用语句为变量赋值。其中:col_name 参数表示查询的字段名称;var_name 参数是变量的名称;
2024-12-04 18:18:28
1063
原创 MySQL:视图
等语句中使用它们,以更新基表的内容。对于可更新的视图,在视图中的行和基表中的行之间必须具有一对一的关系。修改视图是指修改数据库中已存在的表的定义。当基本表的某些字段发生改变时,可以通过修改视图来保持视图和基本表之间一致。某些视图是可更新的。
2024-12-04 17:34:39
288
原创 MySQL:多表操作(添加外键约束、多表联合查询)
是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。子查询指在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式,通俗一点就是包含select嵌套的查询。在多对多关系中,A表的一行对应B的多行,B表的一行对应A表的多行,我们要新增加一个中间表,来建立多对多关系。多表查询就是同时查询两个或两个以上的表,因为有的时候用户在查看数据的时候,需要显示的数据来自多张表.
2024-12-03 10:02:50
2408
原创 MySQL:DQL数据库查询语言
数据查询:数据库管理系统一个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示MySQL提供了功能强大、灵活的语句来实现这些操作MySQL数据库使用select语句来查询数据。
2024-12-03 09:50:37
988
原创 MySQL:约束constraint
约束就是表中数据的限制条件.表在设计的时候加入约束的目的是为了保证表中记录的完整性和有效性,如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。
2024-12-03 09:37:56
1010
原创 MySQL:DML数据操作语言
Data Manipulation Language:数据操作语言用来对数据库中的表的数据记录进行更新前提:使用表student进行示例说明。操作数据库的时候,可以不先执行use mydb1,直接使用进行操作。
2024-12-03 09:32:46
129
原创 MySQL:DDL数据定义语言
创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型。:用户自己定义的数据库名称。一般不需要进行修改。
2024-12-02 15:08:33
352
原创 Linux进阶:环境变量
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。这些搜索路径我们也可以自行添加到PATH中去。在当前HOME目录内创建文件夹myenv,在文件夹内创建文件mkhello通过vim编辑器,在mkhelloecho hello完成上述操作后,随意切换工作目录,执行mkhello命令尝试一下,会发现无法执行修改PATH临时修改PATH,再次执行mkhello,则在任何地方都可以执行或将,填入用户环境变量文件或系统环境变量文件中去。执行source环境变量文件,则在任何地方都可以执行。
2024-11-19 17:13:55
671
1
原创 Linux进阶:常用操作
可以通过主机名找到对应计算机的IP地址,这就是主机名映射(域名解析)先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找。链接只是一个指向,并不是物理移动,类似Windows系统的快捷方式。格式化字符串:通过特定的字符串标记,来控制显示的日期格式。按照给定的字符串显示日期,一般用于日期计算。查看ip:在Linux的终端中输入。先查看本机的记录(私人地址本)功能:创建文件、文件夹软链接。功能:Linux系统的名称。格式:a.b.c.d。
2024-11-19 16:44:53
556
原创 Linux进阶:软件安装、网络操作、端口、进程等
不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。在Windows系统中,可以通过任务管理器选择进程后,点击结束进程关闭它。命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)是非交互式的文件下载器,可以在命令行内下载网络文件。:启动此进程的终端序号,如显示?网络请求,可用于:下载文件、获取信息等。:进程对应的名称或启动路径或启动命令。:刷新间隔(不填就查看一次结束),
2024-11-19 16:29:50
1067
原创 Linux进阶:压缩、解压
tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装。.gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积。:将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式。:以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/user):将a.txt b.txt c.txt 压缩到test.zip文件内。
2024-11-19 16:13:08
624
原创 Linux进阶:用户、用户组、权限
用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。目录,在大多数地方,普通用户仅有只读和执行权限,无修改权限。内配置如上内容,可以让<用户名>用户,无需密码直接使用。,针对文件表示可以将文件作为程序执行。命令,修改文件、文件夹的权限信息。命令,为普通的命令授权,临时以。,针对文件表示可以修改此文件。命令,可以修改文件、文件夹的。,将指定用户加入指定用户组。,针对文件可以查看文件内容。参数,被修改的文件、文件夹。
2024-11-19 16:08:08
1135
原创 在 TS 中解析 ipa 文件
ipa 的解析主要是解析 info.plist、appIcon。应用之家即采用了此种方式进行解析。上传 ipa 后并能解析到应用的安装环境证书的有效期APP开通的功能可安装设备的UDID公共秘钥指纹等具体信息。并提供下载统计等丰富功能。
2023-12-08 11:27:10
475
1
原创 Xcode14:A valid provisioning profile for this executable was not found
使用archive后的APP安装到真机上,此后再使用Xcode真机调试就可以成功了。运行后正确编译至install。
2023-05-09 10:27:57
1198
原创 10、树莓派 蓝牙连接和调试
蓝牙连接和调试参考文章安装蓝牙sudo apt-get install bluez详见上一篇。蓝牙调试(主机)命令行进入: sudo bluetoothctl查看:default-agent注册anget:agent on扫描: scan on停止扫描:scan off找到要配对的蓝牙配对:pair xx:xx...xx:xx添加信任:trust xx:xx...xx:x...
2019-05-22 15:14:54
5751
原创 9、树莓派 蓝牙
树莓派软件更新依次执行如下命令:sudo apt-get updatesudo apt-get upgrade -ysudo apt-get dist-upgrade -y以上指令如不成功,在指令后添加--fix -mising安装蓝牙sudo apt-get install pi-bluetooth bluez bluez-firmware blueman系统默认安装的是pi-...
2019-05-21 15:00:52
2820
2
原创 8、树莓派c语言实现HTTP的GET和POST请求
C语言实现客户端向服务器发送信息#include<stdio.h>#include <stdio.h> #include <string.h>#include <unistd.h>#include <sys/types.h> #include <sys/socket.h> #include <neti...
2019-05-21 15:00:39
1964
转载 7、wiringSerial源码
源码地址/* * wiringSerial.c: * Handle a serial port *********************************************************************** * This file is part of wiringPi: * https://projects.drogon.net/raspberry-p...
2019-05-21 15:00:24
671
原创 6、串口开发
串口设置将树莓派的硬件串口与mini串口默认映射对换因为:硬件串口由硬件实现,有单独波特率时钟源,性能高,可靠,而mini串口要依附CPU内核提供时钟。因此我们要用硬件串口,但是树莓派3b的硬件串口默认连接的是蓝牙,所以我们要改一下,把蓝牙映射到mini串口上,而释放硬件串口。查看相关文件:cd /boot/overlays,找到pi3-miniuart-bt.dtb或pis-mini...
2019-05-21 15:00:07
291
原创 5、IO操作知识
GPIOGPIO,英文全称为General-Purpose IO ports,也就是通用IO口。在嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控...
2019-05-21 14:59:48
417
转载 4、在树莓派上将程序设置为自启动
制作测试脚本在pi用户下创建测试文件夹:mkdir test0226cd test0226,创建sh脚本文件,将如下内容写到脚本中,注意路径是否正确。#!/bin/shtouch /home/pi/test0226/testboot.txtchmod 777 /home/pi/test0226/testboot.txtecho "hello pi~" >> /ho...
2019-05-21 14:59:31
861
原创 3、设置树莓派 键盘上下左右删除键
处理步骤:root权限打开/etc/vim/vimrc.tiny编辑vimrc.tiny中的set compatible 为set nocompatible编辑vimrc.tiny,添加 set backspace=2获取root权限第一次切换到root时,输入sudo passwd root提示设置密码,密码设置完成后即启用root用户,当前使用pixmzr切换到root用户...
2019-05-21 14:59:10
1019
原创 2、编写第一个C语言程序
编写第一个C语言程序新建空文件,命名为HelloWorld.c用geany打开文件,编写C程序,并保存用gcc指令进行编译执行编译后的文件具体代码如下:#include <stido.h>int main() { printf("HelloWorld.c \n");}编译,指定编译后的文件为HelloWorld:在-o后指定gcc HelloWo...
2019-05-21 14:58:51
708
原创 1、wiringPi的安装和使用
树莓派安装gitsudo apt-get install git-core如果安装失败,请确认Raspbian版本是否为最新的,可以输入以下命令更新:sudo apt-get updatesudo apt-get upgrade安装使用git进行安装git clone git://git.drogon.net/wiringPi更新进入到wiringPi后进行更新cd wirin...
2019-05-21 14:58:36
1737
原创 0、树莓派开发开篇
树莓派开发系列教程参考树莓派与Linux树莓派中文站树莓派-简书树莓派-微雪课堂树莓派-懒兔子使用树莓派进行蓝牙串口开发的一些经验树莓派3b+的蓝牙实际上是不容易开发的,是需要进行配对后进行通信的,对于不了解蓝牙,初上手的人员来说很难进行。网上的一些资料也只是介绍了如何进行蓝牙连接,和实际的应用场景差别很大,还是满足不了需求。我们的使用场景是用手机的APP连接树莓派的蓝牙,进行...
2019-05-21 14:57:57
270
原创 蓝牙指令解析
蓝牙指令解析本篇从如下三个方面介绍通过data如何与蓝牙进行通讯。字节高低位及运算蓝牙特征的属性及作用CRC16校验常用算法及实现字节高低位及运算1byte的范围为0-255,两个16进制的字符表示的范围(15*16+15)为0~255,故一字节等于两个16进制的字符.字节高低位的概念蓝牙通信规约中,一般会说明一个信息占用多少个字节,同时会说明高位在前还是低位在前。一般,...
2019-03-15 15:51:54
4827
原创 升级macOS Mojave后pod失效问题解决
升级macOS Mojave后pod失效系统升级到10.14后,pod使用失效,报错:/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:118:in `git_version': Failed to extract git version from `git --version` ("xcrun: er...
2019-03-15 14:18:23
672
原创 iOS 网络层设计
网络层设计iOS项目架构iOS的项目架构一般设计为这几层,即UI层、服务层、数据层,以及第三方依赖层。UI层:主要管理项目中的所有UI界面,根据模块进行划分,如:登录模块,首页模块,搜索模块等等,还包括通用控件模块。服务层:基于各模块创建的服务于各模块的服务类,各模块的服务类之间相互独立,如果存在相互调用的情况,就将此抽象出来,设置到数据层中。UI层只负责UI的渲染和交互,数据之间的逻辑...
2019-03-15 14:09:31
570
空空如也
C语言中:二维数组能否作为函数参数,如何定义?
2015-08-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人