attack204's Blog

Database tastes well

常见的工程问题

任何一个问题都是一类问题 内存管理 数据结构 树 树的迭代方式:不论是Linux中的PCB还是CSS中的选择器或者是MySQL中的B+树,都可以抽象为树形结构,而且都提供了:父节点指针、子节点指针、兄弟节点指针这三种访问方式 调度问题 调度问题有两类:第一类是n个人放到m个队列上,第二类是n个人抢1个坑 第一类: 多核CPU多队列调度策略:为每个CPU维护一个待执行队列 GO语言的GM......

思考: 如何学习一门语言?Java、C++、Go的横向对比

语言的需求 注意一下仅讨论Java、C++和Go 语言的出现是为了解决什么问题?个人见解,是为了解决程序的问题。 程序的三大功能是通信、存储、计算,而语言亦是如此。 先放开通信不谈,我们只考虑存储与计算 在语言中,我所认为的存储应当是属性, 而计算对应的是函数/方法 而相对应的,产生了两套编程模式,第一套叫做oo,第二套叫做op 在op模式中,承载数据的结构叫做结构体(structure),......

思考:如何学习一个程序

究竟什么是一个程序?我的理解:任何一个程序,本质上都是数据处理程序 为了实现数据处理,一个程序需要实现三个功能通信、计算、存储。 通信从通信的对象来看有 线程间通信:openGauss采用信号量 进程间通信:共享内存 不同机器之间通信 前后端交互走HTTP协议 微服务调用使用RPC,底层还是socket JDBC连接MySQL时走MySQL协议,连接Hive时走Hive协议,其实......

思考:究竟什么是计算机?

究竟什么是计算机?显然,计算机肯定要能计算,例如,计算1+1的和 另外,计算机要能够存储数据,1+1的1,到底存到磁盘的哪里,内存的哪里,怎么存? 再者,计算机要能够通信,这里的通信,既包括了两个机器之间的网络通信,机器与外设之间的通信、也包括了进程与进程间的本地通信,还包括进程中线程的互相通信,甚至,函数的调用也可以看作上层函数与下层函数之间的通信,总之,一切能够传递计算数据的过程,都可以......

SDOI 2018二试题解

虽然一轮之后就退役了但是二轮还是要去划划水呀~ 然鹅学了不到一个月文化课再回来看OI的东西有一种恍如隔世的感觉,烤前感觉也没啥可复习的,就补一补去年二轮的题吧。 题目思路基本都参考自shadowice神仙Orz Day2T1没时间做了咕咕咕 物理实验充满毒瘤气息的计算几何题。。 首先旋转一下坐标系,那么只需要考虑两条线平行于$y$轴的情况。 由于题目中规定每个挡板都不和直线导轨接触,因此一定......

二次剩余Cipolla算法学习笔记

对于同余式 x^2 \equiv n \pmod p若对于给定的$n, P$,存在$x$满足上面的式子,则乘$n$在模$p$意义下是二次剩余,否则为非二次剩余 我们需要计算的是在给定范围内所有满足条件的$x$,同时为了方便,我们只讨论$p$是奇质数的情况 前置定理 $x^2 \equiv (x+p)^2 \pmod p$ 证明:$x^2 \equiv x^2 + 2xp + p^2 \pm......