前缀、词根和后缀介绍在学习英语单词时,**掌握前缀(prefix)、词根(root)和后缀(suffix)**是非常有效的方法。它们是构成单词的三大要素,像拼积木一样,把意思组合在一起。通过了解这些组成部分,你可以轻松猜出不认识的单词含义,提高记忆效率。有点类似于汉字中的偏旁部首。
一、什么是词根(Root)?词根是单词的核心部分,表示最基本的意思。许多英语词根来自拉丁语和希腊语。
常见词根及例句:
词根
含义
例词
port
携带、运输
transport(运输),import(进口)
scrib/script
写
describe(描述),script(剧本)
spect
看
inspect(检查),respect(尊敬)
dict
说
predict(预言),dictionary(词典)
tele
远
telephone(电话),television(电视)
cred
相信
credible(可信的),incredible(难以置信的)
二、什么是前缀(Prefix)?前缀加在词根前面,用来改变词义,常表示“否定、方向、数量、时间”等 ...
代孕:一种社会趋势下的个体选择,而非道德灾难在关于代孕的讨论中,常见的反对声音大多聚焦于伦理风险、母体安全、孩子的幸福以及社会结构的“破坏”。而我认为,这些担忧背后,其实隐藏着一种“传统观念尚未适应社会变迁”的惯性思维。
我的观点是:代孕确实带来挑战,但它本质上并不是问题的制造者,而是社会深层转型中的一个结果。
一、对女性身体的风险:应归为医疗和制度问题代孕是否比自然分娩更危险?从医学角度看,两者本质上是一种过程差异,而非本质不同。风险的控制能力更多取决于医疗保障系统和代孕流程的规范化,而不是代孕本身。
现代医疗手段已大幅提高了妊娠安全性。只要是在合法、可控的医疗体系内操作,女性的身体风险是可预测、可管理的。因此,把“风险”归咎于“代孕”本身,是模糊焦点的说法。
二、心理创伤:并非代孕所独有“代孕可能对代母造成心理创伤”是常见担忧之一。但事实上,产后抑郁、情感波动,也广泛存在于自然怀孕中。情感的体验是个体的,不应因其在代孕中出现,就被视为“代孕的特殊恶果”。
是否产生创伤,更多取决于代母是否被尊重、是否有心理支持系统、是否出于自愿。这些因素在所有人类服务行为中都应当被重视,而不是仅在代 ...
计算机技术
未读InnoDB性能优秀主键所有速度快于其他索引,支持事务,支持行级锁
MyISM不支持事务,支持表级锁
索引
大大减少服务器需要扫描的数据量
帮助服务器避免排序和临时表
将随即I/O变顺序I/O
大大提高查询速度,降低写速度,占用磁盘
种类主键索引,组合索引,唯一索引,普通索引
原则
索引列是出现在where子句 中的列,或连接子句中的列
索引列的基数越大效果越好
对字符串进行索引,应该制订一个前缀的长度,可以节省大量的索引空间
根据情况创建复合索引,
避免创建过多的索引
选择字节较短的列作为索引,离散度较高的列作为索引
注意
A or B 两个列必须都有索引,才会用到索引
列类型的字符串查询时一定要加双引号,否则索引失效eg:请描述创建组合索引的方案。
优化
优化查询过程中的数据访问
优化长难的查询语句
优化特定类型的查询语句
分表
分析:123set profiling = 1show profilesexplain
方案:
多表关联查询指定查询列明(A.id,A.name)
查询数据量较多,使用limit解决
重复查询相同的数据,可以缓存数据,下次直接读 ...
缓存穿透缓存穿透指在redis缓存中不存在数据,这个时候只能去访问持久层数据库,当用户很多时,缓存都没有命中就会照成很大压力
解决方案
布隆过滤器(对可能查询的数据先用hash存储)
缓存空对象:在没有的数据中存一个空,而这些空的对象会设置一个有效期)
缓存击穿缓存击穿指的是缓存中没有数据但数据库中有数据(一般是热点数据缓存时间到期),同一时间大量的并发请求由于读缓存没读到数据,就去数据库去取数据,导致某个时间内数据库压力剧增,导致崩溃。
缓存击穿的解决方案
设置热点数据永远不过期(可以判断当前key快要过期时,通过后台异步线程在重新构建缓存)
接口限流与熔断,降级。重要的接口一定要做好限流策略,防止用户恶意刷接口,同时要降级准备,当接口中的某些服务不可用时候,进行熔断,失败快速返回机制。
设置互斥锁。在并发的多个请求中,只有第一个请求线程能拿到锁并执行数据库查询操作,其他的线程拿不到锁就阻塞等着,等到第一个线程将数据写入缓存后,直接走缓存。
就是在缓存失效的时候(判断拿出来的值为空),不是立即去load db。
先使用缓存工具的某些带成功操作返回值的操作(比如Redis的SETNX ...
六种限流实现方案为什么要限流车辆限行就是一种生活中很常见的限流策略,他除了给我带来了以上的好处之外,还给我们美好的生活环境带来了一丝改善,并且快速增长的私家车已经给我们的交通带来了巨大的“负担”,如果再不限行,可能所有的车都要被堵在路上,这就是限流给我们的生活带来的巨大好处。
从生活回到程序中,假设一个系统只能为 10W 人提供服务,突然有一天因为某个热点事件,造成了系统短时间内的访问量迅速增加到了 50W,那么导致的直接结果是系统崩溃,任何人都不能用系统了,显然只有少人数能用远比所有人都不能用更符合我们的预期,因此这个时候我们要使用「限流」了。
限流分类限流的分类:
合法性验证限流:比如验证码、IP 黑名单等,这些手段可以有效的防止恶意攻击和爬虫采集;
容器限流:比如 Tomcat、Nginx 等限流手段,其中 Tomcat 可以设置最大线程数(maxThreads),当并发超过最大线程数会排队等待执行;而 Nginx 提供了两种限流手段:一是控制速率,二是控制并发连接数;
服务端限流:比如我们在服务器端通过限流算法实现限流,此项也是我们本文介绍的重点。
合法性验证限流为最常规的 ...
计算机技术
未读Go语言特点Go语言相比C++/Java等语言是优雅且简洁的,它既保留了C++的高性能,又可以像Java,Python优雅的调用三方库和管理项目,同时还有接口,自动垃圾回收和goroutine等让人拍案叫绝的设计。有许多基于Go的优秀项目。Docker,Kubernetes,etcd,deis,flynn,lime,revel等等。Go无疑是云时代的最好语言!题外话到此为止,在面试中,我们需要深入了解Go语言特性,并适当辅以源码阅读(Go源码非常人性化,注释非常详细,基本上只要你学过Go就能看懂)来提升能力。常考的点包括:切片,通道,异常处理,Goroutine,GMP模型,字符串高效拼接,指针,反射,接口,sync,go test和相关工具链。)
切片与数组的区别在Go语言中,数组(Array)和切片(Slice)是两种不同的数据类型,它们有以下区别:
长度固定 vs 动态长度:
数组是长度固定的,在声明时需要指定长度,并且无法改变长度。
切片是动态长度的,可以根据需要自动调整长度,无需在声明时指定长度。
值类型 vs 引用类型:
数组是值类型,赋值或传递数 ...
计算机技术
未读介绍swoole首先 swoole 是 php 的一个扩展程序,swoole 是一个为 php 用 c 和 c++ 编写的基于事件的高性能异步 & 协程并行网络通信引擎。swoole 是一个多进程模型的框架,当启动一个进程 swoole 应用时,一共会创建 2+n+m 个进程,n 为 worker 进程数,m 为 TaskWorker 进程数,1 个 master 进程和一个 manager 进程,关系如下图所示
Reactor 线程
负责维护客户端 TCP 连接、处理网络 IO、处理协议、收发数据
完全是异步非阻塞的模式
全部为 C 代码,除 Start/Shudown 事件回调外,不执行任何 PHP 代码
将 TCP 客户端发来的数据缓冲、拼接、拆分成完整的一个请求数据包
Reactor 以多线程的方式运行
Worker 进程
接受由 Reactor 线程投递的请求数据包,并执行 PHP 回调函数处理数据
生成响应数据并发给 Reactor 线程,由 Reactor 线程发送给 TCP 客户端
可以是异步非阻塞模式,也可以是同步阻塞模式
Worker 以多进程的方式运行
...
计算机技术
未读PHP面试常见问题总结
部分题目收集自网络
1. echo(),print(),print_r(),var_dump()的区别?echo 和 print 只能打印出string,不能打印出结构;print(string $arg)只有一个参数;echo arg1,arg2 可以输出多个参数;print_r和var_dump能打印出结构。比如:
123$arr = array("key"=>"value");print_r($arr);var_dump(arr);
print_r和var_dump区别:print_r() 只能打印一些易于理解的信息,且print_r()在打印数组时,会将把数组的指针移到最后边,使用reset() 可让指针回到开始处。 而var_dump()不但能打印复合类型的数据,还能打印资源类型的变量
2. 语句include和require的区别是什么?在失败的时候:include 产生一个 warning ,而 require 直接产生错误中断;require 在运行前载入;include 在运行时载入;requir ...
计算机技术
未读
# PHP是什么语言?
PHP 是一种服务器端编程语言,对用户免费且开源,也可用于制作各种类型的应用程序、网站、CRM 等等。它是一种经常使用的通用语言,可以集成到超文本标记语言 (HTML) 中。基本上在系统中,PHP 提供的八种原始数据类型进一步分为三个内部类别:脚本类型(预先建立)、化合物类型(用户定义)和唯一类型。
如何在 Ubuntu 上安装 PHP?Ubuntu 被称为最常用的开源作系统之一,它负责我们想要开发的应用程序的任何 Web 界面的整体开发,我们将在 Ubuntu 上安装 PHP 并了解在 Ubuntu 上安装 PHP 是多么容易
我们可以通过两种方法在 Ubuntu 上安装 PHP,让我们了解每种方法:
使用 apt/terminal 安装 PHP
更新apt
1sudo apt update
输出如下:
安装 PHP 软件包
1sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php ...
搭建Hexo博客本文介绍如何使用hexo搭建个人博客,并将博客部署到Github Pages和Cloudflare Pages上。主要内容包括:
环境准备:安装Node.js和Git
配置Git和Github:设置SSH密钥,创建Github仓库
初始化Hexo项目:安装Hexo,创建一篇博文
部署到GitHub Pages:配置部署设置,推送静态文件
部署到Cloudflare Pages:连接GitHub仓库,自动部署
基本使用方法:创建新文章,本地预览,发布更新
这个教程适合那些想要快速搭建个人博客,但又不想花费太多成本的人。通过使用Hexo、GitHub和Cloudflare的免费服务,您可以轻松创建一个高效、简洁的博客网站。
1. 事前准备
域名(非必须,可以使用免费域名或者Github.io或者Pages.dev分配域名)
Github(必须,你需要注册一个GitHub帐号)
Cloudflare(非必须,你需要注册一个Cloudflare帐号,这样你就可以将博客部署在CF的CDN里加速,但是你也可以直接使用GitHub.io分配的域名)
2. 软件支持
Node(必 ...





