- 博客(46)
- 收藏
- 关注
原创 ML course_week2
记录机器学习、数据挖掘、统计模式识别的课程。主题包括:(一)监督学习(参数/非参数算法,支持向量机,核函数,神经网络)。(二)无监督学习(聚类,降维,推荐系统,深入学习推荐)。(三)在机器学习的最佳实践(偏差/方差理论;在机器学习和人工智能创新过程)。............
2022-07-28 14:22:45
233
原创 mysql学习笔记(三)
mysql学习笔记1、约束1.1、唯一性约束(unique)1、约束1.1、唯一性约束(unique)唯一约束修饰的字段具有唯一性,不能重复。但可以为NULL。* 案例:给某一列添加unique drop table if exists t_user; create table t_user( id int, username varchar(255) unique // 列级约束 ); insert into t_user values(1,'zhangsan'); inser
2021-08-21 22:58:09
110
原创 mysql学习笔记(二)
mysql学习笔记1、关于查询结果集的去重?2、连接查询2.1、什么是连接查询?2.2、连接查询的分类?2.3、在表的连接查询方面有一种现象被称为:笛卡尔积现象。(笛卡尔乘积现象)1、关于查询结果集的去重?mysql> select distinct job from emp; // distinct关键字去除重复记录。±----------+| job |±----------+| CLERK || SALESMAN || MANAGER || ANALY
2021-08-20 23:11:53
105
原创 mysql学习笔记(一)
mysql学习笔记116、group by 和 having14、分组函数?count 计数sum 求和avg 平均值max 最大值min 最小值记住:所有的分组函数都是对“某一组”数据进行操作的。找出工资总和? select sum(sal) from emp;找出最高工资? select max(sal) from emp;找出最低工资? select min(sal) from emp;找出平均工资? select avg(sal) from emp;找出总人数?
2021-08-20 17:29:44
163
原创 docker面试问题
docker什么是docker?什么是docker镜像?什么是Docker镜像什么是Docker容器Dockerfile中最常见的指令是什么dokcer 常用命令dockerfile编写Dockerfile中的命令COPY和ADD命令有什么区别启动nginx容器(随机端口映射),并挂载本地文件目录到容器html的命令如何在生产中监控DockerDocker如何在非Linux系统中运行容器什么是docker?什么是docker镜像?docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打
2021-08-19 20:41:10
156
转载 常见多线程与并发服务器模型
一、常见并发服务器方案1.iterative(循环式/迭代式)服务器iterative 只能使用短连接(每处理完一个连接,然后就关闭连接,称为短连接),不能使用长连接,如果使用长连接,意味着write需要转到read,那么整个程序就是一个单线程程序,如果此时有其它线程过来,没有办法接受连接,因为前一个线程还在read->write的循环中。也就是说如果使用长连接的话,这个程序只能够处理一个客户端,而不能处理多个客户端。要想让程序处理多个客户端,只能使用短连接。这种服务器不是真正意义上的并发服
2021-08-10 21:48:52
421
原创 SQL常见面试题目
一.学生表(学生id,姓名,性别,分数)student(s_id,name,sex,score)班级表(班级id,班级名称)class(c_id,c_name)学生班级表(班级id,学生id)student_class(s_id,c_id)(考察三表联查)1.查询一班得分在80分以上的学生。...
2021-08-05 21:17:51
168
原创 海量数据处理问题
@【TOC】(海量数据处理问题)topk问题1、海量日志数据,提取出某日访问百度次数最多的那个IP。主要问题:IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理解决方案:采用映射的方法,比如模1000,把整个大文件映射为1000个小文件再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP...
2021-07-30 23:14:51
401
原创 十大排序算法原理及实现
十大排序归并排序归并排序归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。算法描述(迭代法)①申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列②设定两个指针,最初位置分别为两个已经排序序列的起始位置③比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到
2021-07-22 17:28:19
1362
原创 负载均衡基础知识
负载均衡负载均衡基础知识负载均衡负载均衡的优势反向代理与负载均衡四层和七层负载均衡的区别?技术原理上的区别负载均衡基础知识负载均衡负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。负载均衡的优势(1)高性能:负载均衡技术将业务较均衡的分担到多台设备或链路上,从而提高了整个系统的性能;(2)可扩展性:负载均衡技术可以方便的增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求;(3)高可靠性:单个甚至多
2021-07-21 18:17:46
409
原创 计算机网络【最终版】
计算机网络OSI参考模型ARP协议的作用、简要原理建立TCP服务器的各个系统调用继上一题,说明socket网络编程有哪些系统调用?其中close是一次就能直接关闭的吗,半关闭状态是怎么产生的?(4) 路由协议所使用的算法。(5) TCP和UDP的区别(6) TCP和UDP相关的协议与端口号IP、TCP、UDP首部详解8) 网页解析的过程与实现方法(9) 在浏览器中输入URL后执行的全部过程(如www.baidu.com)10) 网络层分片的原因与具体实现OSI参考模型1、物理层:物理层处于OSI参考模型
2021-07-19 11:44:27
1339
原创 Linux面试关键代码
这里写自定义目录标题linux系统生产者-消费者linux系统生产者-消费者PV原语:是一对原子操作,P操作是资源的–操作,V操作是资源的++操作。PV原语之间的程序运行是不允许被中断的运行。一、生产者-消费者N个生产者,M个消费者,一个共享缓冲区,生产者在生产,消费者在消费,如果缓冲区满,生产者停止生产,如果缓冲区空,消费者停止消费。具体代码例子如下:#include <stdio.h>#include <stdlib.h>#include <pthread.
2021-07-07 10:29:14
81
原创 linux问题
这里写自定义目录标题字符串从内存写入到磁盘的过程中到底发生了什么(一)API到系统调用系统调用到文件系统文件系统字符串从内存写入到磁盘的过程中到底发生了什么(一)字符串从内存写入到磁盘这段代码的作用就是往一个data文件中写入Hello, World!。我们就以这段C代码和Linux系统(内核版本4.X)为例子来讲解#include <stdio.h>int main() { FILE* f = fopen("data", "w+"); fputs("Hello, W
2021-06-30 10:22:39
413
原创 LeetCode题解之哈希表、字符串、栈和队列
文章目录哈希表242. 有效的字母异位词383. 赎金信1002. 查找常用字符(☆)349. 两个数组的交集350. 两个数组的交集 II202. 快乐数1. 两数之和哈希表242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。class Solution {public: bool isAnagram(string s, string t) { vector<int> res(26,0);
2021-06-24 16:47:29
249
原创 LeetCode题解之数组、链表
数组数组理论二分法704. 二分查找35. 搜索插入位置34. 在排序数组中查找元素的第一个和最后一个位置(☆☆)69. x 的平方根367. 有效的完全平方数(☆)26. 删除有序数组中的重复项(☆)27. 移除元素(☆)数组理论二分法双指针法滑动窗口二分法704. 二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。class Solution {public
2021-06-20 19:32:32
1361
原创 muduo_base库源码分析(八):ThreadPool剖析
我们知道线程池本质就是一个生产者消费者模型,它维护一个线程队列和任务队列。一旦任务队列当中有任务,相当于生产者生产了东西,就唤醒线程队列中的线程来执行这些任务。那么,这些线程就相当于消费者线程。muduo库的线程数目属于启动时配置,当线程池启动时,线程数目就已经固定下来先上代码,然后分析:ThreadPool.h#ifndef MUDUO_BASE_THREADPOOL_H#define MUDUO_BASE_THREADPOOL_H #include <muduo/base/Con
2021-06-08 21:50:41
115
原创 LeetCode题解之回溯算法
回溯算法回溯算法要点组合问题77. 组合216. 组合总和 III39. 组合总和40. 组合总和 II回溯算法要点回溯法,⼀般可以解决如下⼏种问题:组合问题: N个数⾥⾯按⼀定规则找出k个数的集合切割问题:⼀个字符串按⼀定规则有⼏种切割⽅式⼦集问题:⼀个N个数的集合⾥有多少符合条件的⼦集排列问题: N个数按⼀定规则全排列,有⼏种排列⽅式棋盘问题: N皇后,解数独等等回溯模板三部曲:1. 回溯函数模板返回值以及参数,返回值一般为void2. 回溯函数终止条件3. 回溯搜索的遍历过程回
2021-06-08 16:34:36
468
原创 muduo_base库源码分析(三):原子性:为什么需要原子性操作 ,Atomic.h代码分析 ,原子性操作可以实现无锁队列 ,muduo的编译选项 ,Types.h的研究
文章目录为什么需要原子操作Atomic.h代码分析原子性操作可以实现无锁队列Type.h的研究为什么需要原子操作最最典型的例子:x++我们知道它有三个步骤,1.从内存中读x的值到寄存器中 2.对寄存器加1 3.再把新值写回x所处的内存地址假设x的初始值为0,我们使用两个线程对x++,我们期待x的值为3,但实际上可能为2。原因是有可能多个处理器同时从各自的缓存中读取变量i,分别进行加一操作,然后分别写入系统内存当中。那么想要保证读改写共享变量的操作是原子的,就必须保证CP
2021-06-07 21:58:13
155
原创 muduo_base库的Timestamp类剖析(二)
Timestamp.h的研究Timestamp.h的类图如下,参考下即可Timestamp中用了一个BOOST_STATIC_ASSERT宏,这是编译时断言,而我们平时用的assert是运行时断言#include <iostream>#include <boost/static_assert.hpp> class Timestamp {private: int64_t microSecondsSinceEpoch_;}; BOOST_STATIC_A
2021-06-07 21:41:51
106
原创 muduo_base源码解析(1):poll epoll
poll && epollpollpoll函数原型poll使用流程epollepoll函数原型epoll LTepoll ETpollpoll函数原型函数原型#include <poll.h>int poll(struct pollfd *fds, nfds_t nfds, int timeout);参数:fds:结构体指针,可以把结构体数组的首地址传递进来;fds是输入输出参数,一旦这些事件中的一个或多个发生了,就会返回回来,所以可以根据poll返回回来的事件来
2021-06-06 22:56:58
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人