barriers / 阅读 / 详情

what you name?是什么意思

2023-07-29 19:36:45
共9条回复
ardim

太你名字了?什么你名字?……

What"s your name?-你叫什么名字?

北有云溪

错误语句

我不懂运营

没有意义。

snjk

What is your name?是你叫什么名字?

What you name?(如果没有遗漏单词)你指什么?

慧慧

你叫什么名字

小教板

你叫什么名字

=My name is.....

我的名字是....

里论外几

what is your name?

你叫什么名字?

gitcloud

应该是what is your name

你叫什么名字

cloudcone

Chinglish: what name? (翻译:什么名字),what you name?你名字叫什么?

相关推荐

what is you name是什么意思

what is your name英 [hwu0254t iz ju0254: neim] 美 [hwɑt u026az ju028ar nem]你叫什么名字双语例句1. What is your name? 你叫什么名字?来自《权威词典》2. Pray ( tell me ), what is your name? 请问大名?来自《现代汉英综合大词典》3. " Oh, " he interrupted. " Um -- yes. What is your name? " “ 噢, " 他打断了她, " 不错, 你叫什么名字? ”
2023-07-29 04:19:081

what is you name 是什么意思

请问你的尊姓大名!
2023-07-29 04:19:195

what is your name怎么读

挖题一日哟勒萌。。。
2023-07-29 04:19:533

what is your name什么意思

what is your namena.你叫什么名字?你叫什麽名字;你的名字叫什么;你的名字是什么例句1."What is your name? " said the manager, who was conducting the drill.“你叫什么名字?”经理说,这时他正在指挥排练。2.The tall man stared at me, then nodded, " I"m Mort Rubin. What is your name? "这位高大的男人注视着我,然后点点头,“我叫罗宾,你叫什么?”3.Little said do not cry, we help you find, then what is your name, I called the Little can be.小明说你别哭,我们帮你找,那你叫什么名字,我叫小可。4.And Jesus questioned him, What is your name? And he said, Legion, because many demons had entered into him.耶稣问他说,你名叫什么?他说,我名叫群,因为有许多鬼进入他里面。5."Hey, my good man! " said the surveyor, "What is your name? "“嗨,我的朋友!”土地测量员说,“你叫什么名字?”
2023-07-29 04:20:082

what is your name这句话哪里错了

没错。What"syourname?=Whatisyourname?如果说错的话,那就是第一个字母没有大写,还没有标点符号。
2023-07-29 04:20:161

为什么是 what is your name. 而不是what are your name.

your只是修饰name name是单数,所以用is
2023-07-29 04:20:244

what is your name是什么意思

你的名字是什么
2023-07-29 04:20:542

是what is you name 还是what are you name

应该是what"syourname?想必2楼主一定是把,受your的影响,实际上真正的主语是name,而不是有your哦~麻烦采纳,谢谢!
2023-07-29 04:21:031

你叫什么名字用英语怎么说啊?

你叫什么名字用英语有很多表达方式,比如:1、What"s your name?你叫什么名字?2、Can you tell me your name?请问你贵姓大名?3、May i know your name?我可以知道你的名字吗?1、What"s your name?发音:[w?ts ju? ne?m]。例句:Hi, I"m Meg, glad to meet you! Whats your name?你好,我是梅格,见到你很高兴!你叫什么名字?2、Can you tell me your name?例句:Can you tell me your name, and how much teaching experience you have?请问你贵姓大名和有多久的教学经验?3、May i know your name?我可以知道你的名字吗?礼貌的问法:我们一直学的是“What"s your name?” 这句话肯定是没有任何错误的,但有时上来直接这样问会显得不礼貌,建议大家换成:May I have your name please?Could you please tell me your name?这两个表达都会显得更友好。老师问学生,领导问下级,长辈问小辈,都可以这样随便问!
2023-07-29 04:21:101

三种方法用英语询问名字

May I know your name?what is your name?Your name please?
2023-07-29 04:21:395

What is your name 对不对 说明原因

放心吧,对的。your.name相当于一个词“你的名字”是第三人称单数形式,所以谓语be动词用is而且whatis也可以缩写成what"s所以用whatis和what"s都是对的,至于缩不缩写无所谓,这纯属个人爱好,你愿意缩写就缩写,不愿意就不缩写。
2023-07-29 04:22:171

what is your name?是什么意思

你叫什么名字??---
2023-07-29 04:22:347

what is your name是什么意思

你的名字是什么?
2023-07-29 04:22:484

为什么 你叫什么名字 翻译为 what is your name 而不是what name is your ?

疑问句的句型一般为疑问词+be+adj./adv./n./句子如:Where is the dog? What is it? How are you? ...
2023-07-29 04:22:575

what is you name是什么意思

你好,很高兴为你解答,答案如下:你的名字叫什么,对陌生人使用,回答用I am____.希望我的回答对你有帮助,满意请采纳
2023-07-29 04:23:292

what is your name?属于什么句型?

what is your name?是主系表结构的特殊疑问句你叫什么名字?
2023-07-29 04:23:401

你叫什么名字英文怎么说

what your name
2023-07-29 04:24:4012

What;s your name??

What"s your name?是一个句子。意思是:你的名字叫什么?可以回答为:My name is+自己的名字
2023-07-29 04:25:192

“你叫什么名字”的英文怎么说?

2023-07-29 04:25:4013

what is your name 怎么回答

如My name is Jim.
2023-07-29 04:26:123

你叫什么名字用英语翻译。

what is your name
2023-07-29 04:26:201

what is you name 是什么意思

whatisyourname[英][hwu0254tizju0254:neim][美][hwɑtu026azju028arnem]你叫什么名字;例句:1.Sowhatisyourname?所以,你叫什么名字?2.Thisismyname.Whatisyourname?这就是我的名字-你叫什么名字?
2023-07-29 04:26:591

“请问你的名字”用英语怎么说?

What is your nameuff1f
2023-07-29 04:27:4811

what your name is 这样的句子是对的吗

单独用这样的问句是错的,应该是What is your name? 但是把它变成从句就是对的,如He has been asking what your name is. 他一直问我你叫什么名字。因为从句中的语序都是陈述语序。看情况用吧。
2023-07-29 04:28:191

你叫什么名字怎么翻译

翻译成什么?
2023-07-29 04:28:273

what is your name是一般疑问句吗,一般疑问句是由什么构成的

“doyouthink”可以省略.就变成不是吧~~疑问词+陈述句语序,把what当作是某种favoritefood,多见于插入句whatdoyouthinkisherfavoritefood,比如说是bread:breadisherfavoritefood
2023-07-29 04:28:564

张根硕 what is your name的 音译歌词

yes All the people in the house All the people in the club Step forward it"s teamH movement What is your name? What is your name? What is your name?What is your name? really wanna know it 低老哇扫那 那r闹乐bwa扫那 那r考皮冷于吧哈能闹冷bwa扫那 那r那多bwa扫闹 闹闹冷bwa扫闹 闹亲赛么掐跟哈能闹冷bwa扫闹 闹I feel like 木冷到完要gin呢 number one怒那红家萨拉有Yes! Come on 一里on玛尼安木老bwa有哈那慢大白叫有克搞秒n群本还What is your name? What is your name? What is your name? What is your name? What is your name? 男等瓜能他拉无林穷他拉单闹等闹韩特能 Blah Blah Blah Blah 擦b扫冷皮鸟奥b够kim马r多皮鸟奥b够哈那秒n他同还What is your name? 一把门ki了起无力心噶能慢起闹瓦那无力莫度要gi以孙噶你jo起男内噶jo气ki了该马r安哈jo气那冷米奇克老起克老起"肯带一乐米.. What?" Hey girl ooh, hallelujah Hey Miss Just wanna know your name girl Just wanna know your name Now put your hands up V楼 Now put your hands up V楼 Now put your hands up V楼 Now put your hands up V楼 What is your name? What is your name? What is your name? What is your name?
2023-07-29 04:29:391

你叫什么名字的英语怎么说

What"s your name?
2023-07-29 04:29:505

你叫什么名字,用英语怎么说?

考试的话:What"syourname?口语的话:Mayiknowyourname?Yourname,please.Doihavethepleasuretoknowyourname?表述方法较多~
2023-07-29 04:30:144

你叫什么名字用英语怎么说?

whatisyourname?
2023-07-29 04:30:305

英语翻译你好你叫什么名字,我叫李明

Hello. What is your name. I am LiMing.
2023-07-29 04:31:013

初中英语what is your name下一句

回答语是:My nane is…,,,
2023-07-29 04:31:373

what is your name 主语是what?

是的!
2023-07-29 04:31:467

你的名字是什么怎么说英语

what is your name
2023-07-29 04:32:049

What is your name?为什么必动词用的是is,你不是第二人称吗?

因为这句话的是对name提问,所以用is第二句话不是i应该是my。。。括号里还是is
2023-07-29 04:32:371

what is your name的简写是怎么写

Hello!What"s your name?是它的缩写形式!
2023-07-29 04:32:461

你叫什么名字?

你叫什么名字用英语有很多表达方式,比如:1、What"s your name?你叫什么名字?2、Can you tell me your name?请问你贵姓大名?3、May i know your name?我可以知道你的名字吗?1、What"s your name?发音:[w?ts ju? ne?m]。例句:Hi, I"m Meg, glad to meet you! Whats your name?你好,我是梅格,见到你很高兴!你叫什么名字?2、Can you tell me your name?例句:Can you tell me your name, and how much teaching experience you have?请问你贵姓大名和有多久的教学经验?3、May i know your name?我可以知道你的名字吗?礼貌的问法:我们一直学的是“What"s your name?” 这句话肯定是没有任何错误的,但有时上来直接这样问会显得不礼貌,建议大家换成:May I have your name please?Could you please tell me your name?这两个表达都会显得更友好。老师问学生,领导问下级,长辈问小辈,都可以这样随便问!
2023-07-29 04:32:561

你叫什么名字的英语怎么说?

What"syourname?~亲,如果你认可我的回答,请点击【采纳为满意回答】按钮~~手机提问的朋友在客户端上评价点【采纳回答】即可。~你的采纳是我前进的动力~~O(∩_∩)O,互相帮助,祝共同进步!
2023-07-29 04:33:059

因为name是单数,所以用is。如果是names就得用are了,比如:Whatareyournames?不过,这句话的意思是:你们的名字是什么?(问的是一群人)另外,我需要向你强调的一点,如果是names的话,必须用are,因为names是复数,复数的谓语动词,要用复数形式,are就是对于复数用的,这是规定。你的第二个问题,因为you是第二人称代词,也得用are,这也是规定。。但如果是he的话,就得用is。只有第二人称代词,才用are。你就记住,复数的情况时,is和are中,必须用are。英语和汉语不一样,复数和单数是有区别的。
2023-07-29 04:33:411

whatisyourname为什么要用is

your name 相当于it,it总是和is配合使用的。
2023-07-29 04:33:513

What is your name? 这个疑问句有主语吗?

主语是人 就是YOUR
2023-07-29 04:34:124

what are you doing?What is your name? 为什么 一个是are 一个是 is?

第一个You是第二人称。要用复数。第二个是your你的。是单数。如果是复数就是Whatareyournames.名字后面加S。your就会变成“你们的”意思。
2023-07-29 04:34:203

what is your name?这类句中的be动词为什么用is而不是are呢?

如果按你这么说的话,“你”才是第二人称。“你的名字”是第三人称还有,同学,我想说句,就是英语不需要这么学的,没有必要逐字逐句抠语法。多看多记练语感才是好方法
2023-07-29 04:34:272

What;s your name??

疑问句。分析疑问句我们可以把它变回陈述句以分析:Your name is what.可见这是简单句五种句式中的一种,主语+系动词+表语.具体来讲,Your name就是主语;is是系动词;what是表语。What"s your name?的回答:简单的英语对白,问对方的名字。你的名字是什么,然后是回答自己的名字是什么。(My name is+自己名字,例如Bob)。第一种回答:My name si +名字第二种回答:I am +名字第三种回答:直接说出名字
2023-07-29 04:34:351

英语作文:whatisyouname,50字

what is your hobby Diffrent people have diffrent hobbies I have a lot of hobbies like reading books, watching movies and so on. I like reading books because I get lots of know ledge I find more interesting things so I like reading diffrent kinds of books I also like watching movies I enjoy my leisure time so I usually watch movies in my free time it"s makes me happy. I think watching movies and reading books are most interesting than any hobbies I love life.myhobbies make life colourful.I like chinese book.
2023-07-29 04:34:552

求大神解答:对输出的结果感到疑惑,输出结果为What is your name?为什么是这个结果?

您好,提问者: Scanner in = new Scanner(System.in);//键盘输入对象,这个没什么可说的。 System.out.print("What is your name?");//当Scanner遇到in.xxx才会停止让用户输入。 所以输入What is your name? 当输入xxx点击回车之后,才会输出How old are you? 最后输出xxx,点击回车,输出最后一句,程序结束。
2023-07-29 04:35:111

your,What,s,name,连词造句

What"s your name?
2023-07-29 04:35:3611

你叫什么名字用英文怎么说

01 Whatu2019s your name 你叫什么名字是人们初次见面时的打招呼方式,知晓了对方的名字后才能方便接下来的交谈。用英文是Whatu2019s your name。单词解释:1、What"s:全称what is,什么。2、your:你的,您的,你们的。3、name:名字,名称,名誉。 02 短语: 1、added name别号 2、another name另外一个名字 3、assumed name化名,假名 4、common name普通的名称 5、dirty name 下流的名称 03 name作名词的基本意思是“名字,名称”,可以是人的名字,也可以是动物、事物或地方的名称,是可数名词。name还可作“名人”解。name作“名声,名誉”解时,一般指社会对人或某事物的评价,是单数名词,可与不定冠词a连用。 04 name用作动词时意思是“给...u2026取名”、“说出u2026...的名字”,引申可指“提名,任命”,还可指“列举”。name是及物动词,可接名词或代词作宾语。作“取名”解时,可接名词充当补足语的复合宾语;作“提名,任命”解时可接“(to be/as/for+) n. ”充当补足语的复合宾语。
2023-07-29 04:35:591

大秦帝国哪一部最经典?

我喜欢《大秦帝国第一部》现在叫《大秦帝国之裂变》候勇,王志飞、高圆圆等主演。 秦国新君秦孝公立志强国,想一扫被各诸侯欺负的局面,决心寻找治国安邦贤才,在秦国寻找久久不得贤才,得高人指点,把寻找人才眼光放在各诸侯列国,接着秦孝公在诸侯列国发布招贤令,反省秦国灵公、简公、惠公、出公几代昏君乱政使秦国造成贫弱,许重诺,愿与贤臣共享秦国,商鞅看到秦孝公招贤令的诚意动心了,决心去秦国,秦孝公力排众议重用商鞅变法,商鞅先是用立木取信之后,获得秦国百姓信任,开始变法,法令规定:1.国家承认土地私有,允许只有买卖。 2.奖励颈战,生产粮食布帛多的人可免除徭役;根据军功大小授予爵位和田宅,废除没有军功的旧贵族的特权。 3.建立县制,由国君直接派官吏治理。 经过商鞅变法,秦国的经济得到了发展,军队的战斗力不断加强,发展成为战国后期最强大的封建国家,为统一全国奠定了基础。变法历经十八年,难得的是秦孝公与商鞅几十年同心同德。 个人最喜欢第二部纵横,尤其喜欢富大龙和演的秦王赢驷和喻恩泰演的张仪,君臣一心共同抵御外敌,拓土开疆,实乃壮哉! 最爱的还是第一步《大秦帝国之裂变》 个人观点,大秦帝国三部曲之中我觉的最精彩的还是裂变,裂变涵盖了大秦帝国从将近败亡到振兴的一个过程,能深深体会到一句赳赳老秦,共赴国难的壮烈,虽然不乏有美化商鞅之嫌疑。王志飞和侯勇这对cp演的极好,尤其是王志飞饰演的商鞅在剧中的表现。 在群雄逐鹿的时代,在山河日变的“大争之世”,在英雄辈出百家争鸣的战国时,华夏大地的西陲正经历着一场亘古未有的“黑色裂变”。古老的秦部族正是在这裂变般的阵痛中重生。他们燃烧着自己,用一段段血与泪,爱与恨交织的悲壮故事,推动着整个时代前行。最终大出天下,与中原六国相融合,共同成就华夏文明的正源。 战国时代积贫积弱的秦国,孝公作为商鞅变法最坚定不移的支持者,“你我君臣相知,绝我之世,终不负君”,这是他对商鞅的承诺,殚精竭虑的掌控着宫廷内外的平衡,斗智斗勇,天不假年,英年早逝。 商鞅,一个明白事故却不屑事故的法家名士,他对待事业可以用虔诚来形容,因为事业对他来说不是实现个人飞黄腾达的途径,他对待事业的热情就像一个忠贞的教徒对于自己所信奉的宗教一样,商鞅是个布道者,终其一生不折不扣地推行变法,实践着自己的理想,甚至不惜牺牲自己的生命。 “赳赳老秦,共赴国难”这句标语让我们热血沸腾,让我们由衷的佩服那个时代老秦人的流血流汗以及开疆拓土的不易。 我觉得每一部都很好看。 《大秦帝国》是一部古装 历史 剧。由黄健中、延艺执导,侯勇、王志飞、卢勇、孙飞虎、吕中、于洋主演。该剧讲述了战国时代的秦国经变法而由弱转强,东出与六国争霸进而一统天下,以及最后走向灭亡的过程。在群雄逐鹿,山河日变的“大争之世”,在英雄辈出百家争鸣的战国时代,华夏大地的西陲正经历着一场亘古未有的“黑色裂变”。古老的秦部族正是在这裂变般的阵痛中重生。他们燃烧着自己,用一段段血与泪,爱与恨交织的悲壮故事,推动着整个时代前行。最终大出天下,与中原六国相融合,共同成就华夏文明的正源。 先秦是一个热血的时代,人人都彰显着血性,豪气和张扬的生命力。从 《大秦帝国》之《 裂变》中的“ 赳赳老秦, 共赴国难,血流不干,誓不休战”,到第二部《 纵横》中的“ 岂曰无衣,与子同袍”,剧中所传递的励志创新、奋进图强、自强不息的正能量,彰显着中华民族的精神所在,这才是秦人先祖精神的写照,也是整个中华民族的写照。 《大秦帝国之纵横》是由西安曲江大秦帝国影业投资有限公司出品的 历史 正剧,总制片人焦阳。 该剧为长篇 历史 史诗剧《大秦帝国》系列的第二部,由丁黑执导,富大龙,宁静,喻恩泰,姚橹,李立群等领衔主演。讲述了商鞅变法后日趋强大的秦国惠文王时期,年轻的秦国国君果断任用张仪,再一次君臣携手,纵横捭阖,一次次突破外交困局和险局,奠定了秦国强大的基础。 该剧讲述了商鞅变法后日趋强大的秦国惠文王时期,年轻的秦国国君任用张仪,君臣携手,纵横捭阖,一次次突破外交困局和险局,奠定了秦国强大的基础的故事。《大秦帝国》之《纵横》让观众领略到2000多年风云变幻,以正面的 历史 观赢得观众喜爱,成为广大观众深入了解中国 社会 大格局的最佳切入点。电视剧《大秦帝国》之《纵横》作为一个 社会 热门话题,其内涵已经超过电视剧范畴。 《大秦帝国2》采用了以一个君主和一个重臣作为作品主要人物的经历和相互关系作为中心,用此带出一段波兰 历史 ,真实 历史 人物和虚构人物,巧妙的处理 历史 真实和艺术虚构宏大叙事和精彩细节辩证关系,这种方法也为重大 历史 题材和影视剧创作提供了可借鉴的经验。《大秦帝国之纵横》中观众能够从荧屏上读到一段 历史 ,能够从跌宕起伏的情节、对 历史 的艺术还原中看到那个时代的格局和气象。 《大秦帝国之崛起》是一部由中央电视台、西安曲江大秦帝国影业投资有限公司、中国国际电视总公司、中国广播电影电视节目交易中心、西安曲江新区管理委员会、陕西广播电视台等单位联合出品,丁黑执导,张博、宁静、邢佳栋等主演的大型 历史 电视剧。讲述了秦昭襄王嬴稷在宣太后、白起、魏冉、范雎等人的辅佐下,励精图治,开疆辟土,将并不强大的偏僻秦国治理成了雄霸一方的超级强国,并拉开了统一中国的恢弘序幕的故事。 公元前305年,秦国 历史 上执政时间最长一位君王——秦昭襄王嬴稷继位。其后五十六年期间,秦王嬴稷在其母宣太后和其舅魏冉扶植下,从一个稚嫩年轻君王,成长为了一位坚毅沉着,威震天下真正王者;而秦国也由一个势力一般二流强国一跃崛成为傲视列国的超级大国。昭襄王在宣太后、纵横家范醀、“战神”白起协助下嬴稷采用“力交利交”“远交近攻”之国策,率领秦国子民先后灭义渠,修长城,重创齐国,攻陷楚国都城,迫魏韩两国俯首称臣并以极其惨烈战役。长平之战毁灭性地打击了当时剩下唯一大敌赵国,最后更一举消灭西周收纳九鼎!自此秦国雄傲中原无人能及,八十六年后嬴政统一中国之霸业也由此已经拉开序幕。 《大秦帝国之崛起》作为大型 历史 史诗系列剧《大秦帝国》中的第三部,具有承上启下之关键地位,在保留精粹的基础之上,制作再次升级。历经四年精雕细琢,这也意味着对于 历史 与故事把控得更加娴熟与精准。为了体现秦昭襄王五十六年秉钧持轴期间毫不停歇、南拓东出的征战生涯,《大秦帝国之崛起》再现了战神白起发动的伊阙、郢都、华阳、长平四大战役,并歼敌百万以上的宏大战争场面,将风云际会、群雄争霸的大秦征战时代展现地淋漓尽致。 美好一天很荣幸为大家解答这个问题,让我们一起走进这个问题,现在让我们一起探讨一下。 我喜欢《大秦帝国第一部》现在叫《大秦帝国之裂变》候勇,王志飞、高圆圆等主演。 秦国新君秦孝公立志强国,想一扫被各诸侯欺负的局面,决心寻找治国安邦贤才,在秦国寻找久久不得贤才,得高人指点,把寻找人才眼光放在各诸侯列国,接着秦孝公在诸侯列国发布招贤令,反省秦国灵公、简公、惠公、出公几代昏君乱政使秦国造成贫弱,许重诺,愿与贤臣共享秦国,商鞅看到秦孝公招贤令的诚意动心了,决心去秦国,秦孝公力排众议重用商鞅变法,商鞅先是用立木取信之后,获得秦国百姓信任,开始变法,法令规定:1.国家承认土地私有,允许只有买卖。 2.奖励颈战,生产粮食布帛多的人可免除徭役;根据军功大小授予爵位和田宅,废除没有军功的旧贵族的特权。 3.建立县制,由国君直接派官吏治理。 经过商鞅变法,秦国的经济得到了发展,军队的战斗力不断加强,发展成为战国后期最强大的封建国家,为统一全国奠定了基础。变法历经十八年,难得的是秦孝公与商鞅几十年同心同德。 在以上的分享关于这个问题的解答都是个人的意见与建议,我希望我分享的这个问题的解答能够帮助到大家。 在这里同时也希望大家能够喜欢我的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。 我最后在这里,祝大家每天开开心心工作快快乐乐生活, 健康 生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢! 本人老家是陕西的,个人喜欢第一部《大秦帝国之裂变》,裂变战争场面宏大,每次秦军一列阵喊着赳赳老秦共赴国难,血不流干,死不休战时感觉热泪盈眶,而且很细致的拍摄出了当时秦国老秦人各种弊端,还有卫鞅和赢渠梁携手共进,改革秦国的决心的一系列办法,看着一段是十分感人的 《大秦帝国》是一部古装 历史 剧。由黄健中、延艺执导,侯勇、王志飞、卢勇、孙飞虎、吕中、于洋主演。该剧讲述了战国时代的秦国经变法而由弱转强,东出与六国争霸进而一统天下,以及最后走向灭亡的过程。在群雄逐鹿,山河日变的“大争之世”,在英雄辈出百家争鸣的战国时代,华夏大地的西陲正经历着一场亘古未有的“黑色裂变”。古老的秦部族正是在这裂变般的阵痛中重生。他们燃烧着自己,用一段段血与泪,爱与恨交织的悲壮故事,推动着整个时代前行。最终大出天下,与中原六国相融合,共同成就华夏文明的正源 个人感觉第二部好看,因为第二部国君嬴驷的扮演者是富大龙,他演的国君亦正亦邪,很贴地气,往往能使剧情引人入胜,百看不厌,尤其是和儿子的对话堪称本剧经典! 第一部好看 比较感人 第二三部由于宁静的出演 成了这两部剧最大的败笔 电视剧的话最喜欢第一部,后面两部丁黑那货做导演,把原著改成了宫廷剧!连孙皓晖都说丁黑导演的那两部背离了原著好多,他不满意!
2023-07-29 04:35:201

对软件系统的一些理解

这篇文章是想表达我对系统软件的一些理解,风格跟之前的不太一样,整体偏“务虚”。我自己其实是不太擅长“务虚”的,甚至是有点排斥。就跟相比起看论文,我更喜欢看code,当然我也看论文,只不过相对来说少些。 毕业以来一直在数据库存储引擎领域工作,过去5年主要精力集中在阿里自研LSM-Tree存储引擎X-Engine研发上,并且在过去两年多时间我们完成了X-Engine的云原生架构升级和商业化,在公有云上承接一定规模的客户并稳定运行,在业界应该也是首个基于LSM-Tree架构实现云原生能力的TP存储引擎。完整经历一个TP存储引擎的架构规划、设计研发、落地上线,稳定性运维的全周期,并且得益于从我进入数据库领域一路以来经历的高水平团队、technology leader以及整个团队成员的出色工程能力和技术视野,加上我自己在此过程中的一些思考,阶段性的形成了一些自己的心得体会。 另外,跟业界一些优秀的架构师和工程师交流,发现对于系统工程的理解有很多的共鸣,也收到很多非常有价值的输入,当然也存在一些不同的观点。这也是促使我写这篇文章的主要原因,希望能将我自己的一些理解表达清楚,这些观点并不fashion,更谈不上创新,更多的是一些自己的思考和经验之谈。 观点1:软件的本质是对硬件资源的消耗。不同软件的区别在于,消耗硬件资源去解决什么问题以及如何分配硬件资源的消耗。软件架构设计中经常提到"抽象"和“trade-off”,抽象本质上的就是"解决什么问题","trade-off"其实就是"如何分配硬件资源"。 举个例子TP存储引擎和AP存储引擎,从实现上可以列举出一大堆不同的地方,行存 VS 列存、二级索引 VS ZoneMap索引、强事务 VS 弱事务等等。这些不同之处其实都是结果,导致这些的根本原因是: 1)两者解决的问题不同,TP场景主要是online实时业务,这些业务的特征是整体数据规模相对较小(真正需要online处理的数据, 历史 数据可能很多)、请求短平快、数据locality明显、高并发低时延等,而AP场景整体的数据规模大、计算密度高、高吞吐等。(解决什么问题) 2)TP引擎的完整事务支持使得业务的并发控制简化很多,其实就是把业务系统本来需要做的事情,TP引擎自己做了,当然也就意味着TP引擎需要为此消耗一部分硬件资源。而AP引擎为了加快数据入库的速度,事务的支持比较弱,这部分工作还是由业务系统来完成(比如ETL),也就不需要为此消耗硬件资源。(如何分配硬件资源) 观点2: 系统软件的重大变革,背后基本都是硬件发展所推动的。这跟观点1)是相呼应的,系统软件领域的理论在进入21世纪之前,学术界已经做了广泛深入的研究。从最开始计算机的出现,到大型机和小型机,再到家庭PC和廉价通用服务器,以及现在的云计算IAAS服务,基本上系统软件发展也是跟随这个脉络在发展。系统软件的再次火热,本质上也是因为IAAS这个“新硬件”所推动的。整个IAAS的on-demand获取,打破了系统软件之前在物理资源受限的背景下很多设计,这也就是为什么云原生系统软件会迎来新的机会。 观点3: 几乎不存在某一种系统架构全面领先另外一种架构。这跟观点1)2)是相呼应的,不同的架构选择背后都是不同的trade-off,所谓有得必有舍。经常听到一些说法,你看这篇论文、这篇文章,他们这种架构就没有某问题,我们这种架构就有这个问题。我听到这些观点的第一反应是质疑,这里边主要有三个原因: 1)很多论文和文章的实验结果是没法复现的,也就说很有可能他的结论就有问题; 2)很多时候只会强调“得”的部分,而“舍”的部分是没有讲的。 3)我们系统所存在的问题到底影响有多大,是不是可以解决的,这些需要量化的数据才能确定。轻易地被各种论文和文章的结论影响,很有可能会做出一个不伦不类的系统。就像习武之人各个门派的武功都学学,最终很容易走火入魔。 观点4:条条大路通罗马,最终系统对外呈现的区别,更多的是工程实现的原因,而非架构的原因。不同的系统架构需要解决的大部分问题本质上其实是一样的,并且组成一个系统的零部件都差不多,只是根据需要选择哪些零部件来构建系统。只有躬身入局,真正地去面对问题、分析问题、解决问题,才能认清楚其中的本质,否则很容易变成纸上谈兵。 举个例子:经常有人问我LSM-Tree架构中持续写入数据时,compaction问题对性能影响很大。这个问题我是这么看的,首先LSM-Tree架构上写入吞入优势的其中一个原因是,相比于innodb这种磁盘B+ Tree在写入的时候直接sort on write(page内有序,全局有序),LSM-Tree架构选择将一部分sort转移到sort on compaction、sort on read,本质上是将写入时排序的资源消耗,转移到了compaction或read。刷脏其实是包含两个动作:生成脏页,将脏页刷盘。innodb相当于是在写入的时候生成脏页,在刷脏的时候就是单纯的io操作。而compaction其实是同时做了生成“脏页”和“脏页”刷盘。innodb如果持续写入的话,也会有刷脏来不及时导致影响写入性能的问题。因为innodb刷脏和compaction之所以成为问题,本质上都是因为内存和磁盘写入速度的差异,导致生产者消费者模型失衡。所以innodb的刷脏和LSM-Tree的compaction本质上是相同的问题,只是通过不同的方法来将这个过程对系统的影响降到最低。 接下来的内容,主要是在进行详细设计的时候我认为比较重要的原则。这些原则的道理其实很容易理解,并且“软件工程”这门学科已经研究的很充分,但是实际操作的时候其实是蛮困难的,可能是 历史 包袱的原因,也有可能是外界环境的原因,需要根据实际情况做出不同的trade-off。值得注意的是,我们做出的trade-off一定是要经过仔细考虑的,而不是草率的,否则很容易出现“有舍没有得”。另外遵守这些原则设计实现出来的系统和不完全遵守这些原则设计实现出来的系统,结果其实是“好和更好的区别”,但是“好多少”这个量在系统做出来之前,其实很难衡量。这七个原则不是独立存在的,而是相辅相成的。 面向场景: 首先我们需要明确要解决什么问题,这是整个系统构建的出发点。one size fit all的系统在过去是不存在的,在未来也不一定存在。系统的完善,必然是要靠不断的迭代来完成的,那么如何迭代本质上就是我们在那些阶段解决哪些问题。一个系统可以有远大的目标去解决很多问题,但是所有问题的路标需要有相对清晰的规划,以达到既可以快速满足需求,同时保留向未来演进和扩展的基础。 实际研发过程中,可能发生的两类错误是: 1)想采用敏捷开发的方式来进行工程管理,以满足整个迭代的需求。敏捷开发本质上先定义最小功能集,也就是首先想清楚解决什么问题,然后快速的迭代扩充功能,有点像小步快走。在实操上,很容易把敏捷开发搞成了"快、糙、猛",有点大干30天赶英超美的味道。 2)问题定义不清楚,系统的“不变式”设置就容易草率。每个系统都有一些“不变式”,随后很多设计都是基于这些不变式进行展开的,比如在LSM-Tree系统中一个常见的“不变式”是更新版本的数据在更低的层次,同一行的数据的多个版本如果同时在memtable、level0、level1中存在,那么必然memtable中对应的版本是最新的,level0中的版本也比level1中的更新。如果在迭代的过程中发现之前设置的“不变式”不合理的,那么进行改动的代价是非常之大的。 面向解耦:无论是自上而下的去设计系统,还是自下而上的去设计系统,很重要的一个思考逻辑就是将各个模块间的耦合度降到最低。解耦做地比较好的系统,往往意味着: 1)每个模块的功能是考虑的比较清楚,方案的完整度是比较高的; 2)有利于专注的将某个模块实现的更加高效,避免其他模块的影响; 3)有利于之后的迭代,影响面可控; 4)出了问题好排查,单个模块的问题是比较好排查,真正那些难搞的问题往往是问题在各个模块间传导后才暴露出来,比如A模块出问题,经过模块B、C、D,最后在模块E暴露出来。 有些质疑的观点会说,面向解耦的思路去设计,有可能会牺牲系统的整体性能。其实这个跟不要一开始就为性能做过度的设计是一样的道理,真到了某些解耦的设计影响了性能,那么该耦合的就去耦合。把两个模块耦合在一起的难度往往是低于把耦合在一起的两个模块拆开。 面向防御:这个就是防御性编程的逻辑,要假设调用的函数都是有可能出错的, ,比如内存分配可能出错,io可能出错,基础库的调用可能出错等等,基于此来考虑如果出错,系统的行为是什么。有一个非常简单的原则就是"fail stop", 如果没有完整的防御,那么即使fail了也很难立即stop,最终造成一些很奇怪的表象。 通常的质疑是: 1)你看这个函数的逻辑肯定不会失败的。也许从当前来看这个函数确实不会失败,但是很难保证随着迭代增加逻辑,之后没有失败的可能性。 2)加了这么多防御,防御代码比实际逻辑的代码还多,会影响性能。首先,现在cpu的分支预测能力,基本上可以做到绝大部分情况下防御代码不会影响性能。另外跟对于面向耦合的质疑一样,真到某些防御代码成为了性能瓶颈,该优化就优化。优化一个防御,总比去解决一个因为没有防御而导致的问题代价更低吧。 面向测试:在测试阶段修复问题的代价是远低于在生产环境修复问题的代价,因此让系统变得可测试是非常重要的。系统可测试的标准就是,能方便的进行单元测试、集成测试,并覆盖绝大部分的代码路径。可测试的系统,随着不断的迭代,会累积越来越多的测试case,不断的夯实稳定性基础。面向测试跟面向解耦、面向防御是相辅相成的。只有模块间耦合度足够的低,才有可能做更多的测试,否则做一个模块的测试需要mock很多乱七八糟的东西。面向防御会使得测试的行为可以更好的预期,不然输入了一个异常的参数,具体怎么失败是不确定的,那测试case就很难写了。 面向运维:bug是一定会有的,对于复杂的系统,不管前期做多少准备都很难避免生产环境中遇到未知的问题。面向运维的主要目的是,遇到问题的时候,能用代价最低的手段去及时止损。遇到线上问题,动态调参数就能解决比需要重启才能解决的代价更低,重启能解决比需要发版才能解决的代价更低。面向运维不仅仅是加几个参数,加几个开关那么简单,而是需要把“面向运维”作为设计方案的重要组成部分来考虑,保证出了问题有运维手段,有运维手段敢用,用了以后有效果。 面向问题本质:当去解决一个问题的时候,一定要多思考这个问题的本质原因是什么,简单的问题复杂化和复杂的问题简单化,都是因为没有抓住本质。如果能思考清楚其背后的本质原因,从源头避免掉是更加彻底的解决方式,否则很容易陷入不断打补丁的状态,我一直有个观点:“没有抓住问题本质去解决问题,结果往往是在制造问题”。另外一个经验是,如果一个模块连续出了好几次问题,那么就要想想是不是在最开始的设计上就有需要改进的地方。 面向可视化:可视化的目标主要是以更加直观的形式,来展现系统运行状况,这对于系统调优和诊断是非常重要的。当系统异常时,可视化的方式可以帮助快速定位到系统哪里出了问题。另外一方面是,可以提供接口给监控系统做 历史 状态的追踪。比如oracle的诊断监控就是一个非常优秀的案例,而SnowFlake对于内部状态的打点监控也是近乎疯狂。 说了这么多,最终系统还是靠一行行的code实现出来的,保持匠心、严谨、较真的态度去打造系统是非常朴素正确,但又很难做到的事情,共勉! 原文链接: http://click.aliyun.com/m/1000349863/
2023-07-29 04:35:201