如何在PHP中操作MySQL数据库

一、连接MySQL服务器 PHP操作MySQL数据库,首先要建立与MySQL服务器连接,函数语法如下: mysqli mysqli_connect([string server [,string username[,string password[,string dbname[,int port[,string socket]]]]]]) mysqli_connect()函数的参数说明: 参数 说明 server MySQL服务器地址 username 用户名 password 密码 dbn
分类: 编程语言 发布时间: 01-01 23:42 阅读次数: 0

数组中n,k 的输出

// // Created by dongfucai on 2019/1/1. // #include <vector> #include <iostream> using namespace std; //If n = 4 and k = 2, a solution is: //[ //[2,4], //[3,4], //[2,3], //[1,2], //[1,3], //[1,4], //] class Solution { public: void solution
分类: 编程语言 发布时间: 01-01 23:42 阅读次数: 0

剑指offer 4. 替换空格

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaohaibo_/article/details/85543779 请实现一个函数,把字符串中的每个空格替换成"%20"。 你可以假定输入字符串的长度最大是1000。 注意输出字符串的长度可能大于1000。 样例 输入:"We are happy." 输出:"We%20are%20happy." 不开额外空间的做法会使字符串长度总在变化,会比较麻烦。 class Solution { pub
分类: 编程语言 发布时间: 01-01 23:42 阅读次数: 0

d3笔记(2) - d3中自定义事件的使用

以下贴出代码,读者结合已有知识即可理解。 <!doctype html> <html> <head> <style> div { height: 100px; width: 100px; background-color: steelblue; margin:5px; } </style> <script src="d3.js"></scri
分类: 编程语言 发布时间: 01-01 23:41 阅读次数: 0

(二)从解析DTS到创建device_DTS的匹配和解析(结合源码)

kernel启动流程_DTS解析(源码层面) 此篇博客有很多参考其他文章的内容,由于参考内容繁杂,不一一标注角标了,在末尾会贴上所有参考博客的link,如有侵权,请联系本人处理,谢谢。 深入,并且广泛 -沉默犀牛 我认为作为初学者去学习kernel代码的一个重要方法就是:先知道这些代码是干嘛的,然后再找代码来验证想法。这样的探索顺序会变得事半功倍,让我们直接去看繁杂的代码来分析出代码用途,是非人道主义的。所以此篇博客会先用文字描述一下大致流程,再带着读者到代码中去验证。 执行流程
分类: 其他 发布时间: 01-01 23:41 阅读次数: 0

(三)从解析DTS到创建device_从device_node到并入设备驱动模型(结合源码)

从device_node到并入设备驱动模型 此篇博客有很多参考其他文章的内容,由于参考内容繁杂,不一一标注角标了,在末尾会贴上所有参考博客的link,如有侵权,请联系本人处理,谢谢。 深入,并且广泛 -沉默犀牛 上一篇文章已经详细的分析了两个问题: 1.如何根据Device Tree的信息,找到最适合的machine_desc 2.如何将DTB转换成节点是device_node的树状结构 那么为什么要做这两件事情呢? 我们现在要做的事情是把DTS中描述的节点(status = o
分类: 其他 发布时间: 01-01 23:41 阅读次数: 0

(一)USB驱动程序_USB基础知识

深入,并且广泛 -沉默犀牛 USB设备驱动分类 USB驱动程序可以粗分为两类: 一、主机(Host)系统上的驱动程序 ,这个驱动程序控制插入其中的USB设备 二、设备(Device)上的驱动程序,这个驱动程序控制USB设备如何与主机通信 为了举一个形象的例子,我得先展示一张图片,更细致的介绍一下以上的两种分类: Host Device USB设备驱动(Mass storage/CDC/HID) Gadget Function 驱动(serial…) USB核心 Gadet Funti
分类: 其他 发布时间: 01-01 23:41 阅读次数: 0

(二)USB驱动程序_USB设备驱动(Host)

USB设备驱动(Host) 深入,并且广泛 -沉默犀牛 有了第一篇文章的基础,我们这篇文章来看一下USB设备驱动的源码。与其他的Driver一样,USB的driver也表现为一个结构体:struct usb_driver 驱动整体结构 在编写新的USB设备驱动时,主要应该完成的工作是probe()和disconnect()函数,它们分别在Device被插入和拔出的时候调用,用于初始化和释放软硬件资源。usb_driver结构体中的id_table成员描述了这个USB驱动所支持的USB设
分类: 其他 发布时间: 01-01 23:40 阅读次数: 0

(一)设备结构模型_低级部分(Kobject、Kset、Ktype)

低级部分(Kobject、Kset、Ktype) 深入,并且广泛 -沉默犀牛 我打算把设备结构模型分为两部分来写,这也是在LDD3中的讲解顺序: 1.低级部分,分析Kobject、Kset、Ktype 2.高级部分,分析总线、设备、驱动如何联系 首先以一张图介绍一下Kobject、kset、ktype的关系: Kobject、Kset、Ktype三种结构体的详细注释都已经陈列在图中,以下对三个结构体的功能做一些描述,如有错误,敬请指出: 1.kobject这个数据结构的诞生是为了方
分类: 其他 发布时间: 01-01 23:40 阅读次数: 0

(二)设备结构模型_高级部分(Bus、Class、Device、Driver)

高级部分(Bus、Class、Device、Driver) 深入,并且广泛 -沉默犀牛 这篇文章只分析Bus、Class的作用,和表示它们的结构体。不分析接口函数 Bus Bus是处理器与一个或者多个device之间的通道。在设备模型中,所有的device都通过bus相连,这意味着,系统中的每一个device都要连接在一个Bus上,这个Bus可以是内部Bus,虚拟Bus,或者platform Bus。Bus之间可以相互穿插,比如一个USB控制器通常是一个PCI设备。以下分析代表Bus
分类: 其他 发布时间: 01-01 23:40 阅读次数: 0

Input_subsystem_从三个基础结构到事件上报流程

从三个基础结构到事件上报流程 声明:这篇博客大部分来自 https://blog.csdn.net/u014545515/article/details/53507567?utm_source=blogxgwz1 我跟着这篇博客的思路一路下来,觉得非常有收货,也写入自己的感悟。 广泛,并且深入 -沉默犀牛 三个层级 事件处理层:evdev.c 、mousedev.c 核心层:input.c 设备驱动层:touchscreen、mouse 事件处理层:通过核心层的API获取输入事件上
分类: 其他 发布时间: 01-01 23:40 阅读次数: 0

看其他文章时候的一些新的感悟

关于dts中platform device 和 i2c device 的级别问题 之前写到过,kernel启动后从aboot_init进去一系列的解析DTS流程,这个流程中写到了,只会注册platform device,然后i2c device再由i2c bus来注册,当时的理解是platform device 和 i2c device是同等地位的,就像i2c device 与 spi device的关系一样,是分别在两个bus下的device。今天更正这个思想如下: 在DTS中来看,plat
分类: 其他 发布时间: 01-01 23:39 阅读次数: 0

Linux启动流程_LK流程_Kmain(0)

深入,并且广泛 -沉默犀牛 此篇博客原博客来自freebuf,原作者SetRet。原文链接:https://www.freebuf.com/news/135084.html 写在前面的话 写这篇文章之前,我只好假定你所知道的跟我一样浅薄(针对本文这一方面),所以如果你看到一些实在是太小儿科的内容,请你多加担待,这确实就是我目前的水平,谢谢。 首先要说的一点是,之前我总以为 LK = Uboot = Bootloader,其实它们的关系是这样的: Bootloader是linux的启动
分类: 其他 发布时间: 01-01 23:39 阅读次数: 0

Linux启动流程_LK流程_bootstrap2(1)

深入,并且广泛 -沉默犀牛 此篇博客原博客来自freebuf,原作者SetRet。原文链接:https://www.freebuf.com/news/135084.html 写在前面的话 写这篇文章之前,我只好假定你所知道的跟我一样浅薄(针对本文这一方面),所以如果你看到一些实在是太小儿科的内容,请你多加担待,这确实就是我目前的水平,谢谢。 这里就开始啦! 上一篇我们已经分析过Kmain函数了,现在来回顾一遍发现Kmain显示初始化了一些硬件资源,包括线程初始化,CPU的一些设置,平
分类: 其他 发布时间: 01-01 23:39 阅读次数: 0

Linux启动流程_LK流程_aboot_init(不包含recovery boot)(2.1)

深入,并且广泛 -沉默犀牛 此篇博客原博客来自freebuf,原作者SetRet。原文链接:https://www.freebuf.com/news/135084.html 写在前面的话 写这篇文章之前,我只好假定你所知道的跟我一样浅薄(针对本文这一方面),所以如果你看到一些实在是太小儿科的内容,请你多加担待,这确实就是我目前的水平,谢谢。 这里就开始啦! 上一篇博客分析了bootstrap2都做了些什么,内容并不多,我们大概总结一下: 先后进行了:初始化了 SPMI(sys
分类: 其他 发布时间: 01-01 23:39 阅读次数: 0

Linux启动流程_LK流程_recovery/normal_boot(2.2)

深入,并且广泛 -沉默犀牛 此篇博客原博客来自freebuf,原作者SetRet。原文链接:https://www.freebuf.com/news/135084.html 写在前面的话 写这篇文章之前,我只好假定你所知道的跟我一样浅薄(针对本文这一方面),所以如果你看到一些实在是太小儿科的内容,请你多加担待,这确实就是我目前的水平,谢谢。 这里就开始啦! 上一篇博客分析了aboot_init的一部分工作,总结一下: 显示获取分页大小,然后获取了device,初始化开始屏幕信
分类: 其他 发布时间: 01-01 23:38 阅读次数: 0

深入理解计算机系统_第零部分_第一章_计算机系统漫游

深入,并且广泛 -沉默犀牛 写在前面 今天是2018/12/14,还有一周我的实习期就结束了,发现自己的基础特别薄弱,选了几本提升基础的书籍,《深入理解计算机系统》是我将要看的第一本书,特别开这个系列文章,记录所学所得所想,也用作检验自己学习进度的指标之一。 PS:大部分是摘抄书中原话,[]方括号中的内容是自己所想所得。 文章导读 这一章漫游式的介绍了计算机系统。 信息就是位+上下文 程序被其他程序翻译成不同的格式:介绍了源程序经过哪些步骤成为可执行目标程序的 了解编译系统如何工作是
分类: 其他 发布时间: 01-01 23:38 阅读次数: 0

深入理解计算机系统_第一部分_第二章_信息的表示和处理

深入,并且广泛 -沉默犀牛 文章导读 这一章介绍了计算机中信息(即二值信号)的表示和处理。 信息存储 1.1 十六进制表示法:介绍了十六进制的产生和十六进制、十进制、二进制之间的相互转换规律 1.2 字数据大小:介绍了在不同机器和编译器中,数据类型数据在内存中所占的大小 1.3 寻址和字节顺序 : 介绍了寻址方法和字节顺序(小端法、大端法),float与int的二进制表示有联系 1.4 表示字符串:介绍了字符串的编码方式,以ASCII为例,说明了文本数据比二进制数据移植性好 1.5
分类: 其他 发布时间: 01-01 23:38 阅读次数: 0

Android系统分析之ThreadLocal

1 ThreadLocal操作示例 1.1 例子 public class MainActivity extends AppCompatActivity { private static final String TAG = "ThreadLoacalTest"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState
分类: 其他 发布时间: 01-01 23:37 阅读次数: 0

Android进阶之View.inflate和LayoutInflater.inflate方法区别

1 LayoutInflater用于加载布局   LayoutInflater用于加载布局的。加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是内部的。   我们先看下LayoutInflater的基本用法,首先需要获取到LayoutInflater的实例,有两种方法可以获取到,第一种写法如下: LayoutInflater layoutI
分类: 其他 发布时间: 01-01 23:37 阅读次数: 0