tag 标签: 成长

相关博文
  • 热度 7
    2024-2-6 22:27
    1799 次阅读|
    4 个评论
    【电子工程师故事】预备工程师的成长经历
    前言 在电子的海洋中,如同一位勇敢的航海家,驾驶着知识的船只,探索着未知的领域。 每一个细微的电阻、电容和晶体管,都像是手中的魔法道具,引领我走向电子技术的深处。 我的大学生活,就像是一部充满激情与创新的史诗,每一次电路板的焊接,每一行代码的编写,都记录着不断前行的足迹。 今天,我恳请大家给予我三分钟的时间,让我带领你们一同走进我的电子世界,感受那份对电子技术的炽热热爱与不懈追求。让我们共同见证,在这学习的海洋中,我如何乘风破浪,书写属于自己的辉煌篇章。 困难的专业课 数电和模电我相信是绝大多数电子系大学生的必学课程之一,也是电子专业的重要入门课程,同时难到了众多大学生,我当然也不例外。上课的时候完全听不懂一点!而且大学的老师讲的挺快的,笔记也跟不上,最主要的是大学教室太大啦!后排根本看不清! 【下课直接冲去抄笔记】 因为大学生的生活还是比较宽松的,为了搞懂电子老师讲的这些,我下课后跑到b站去找一些课程,一方面是把不懂的搞定,另一方面是预习一下。慢慢的我发现,b站的老师讲课会容易听一些,为什么呢?因为b站老师通常有自己的方法,而不是教材上面死板的方法!非常通俗易懂,所以第二天的电子专业课我仔细对比了老师讲的和b站讲的,确实是b站讲的要更容易理解!于是我想到了一个大胆的想法----"架空"老师,我直接提前一两天在b站学完之后,我直接把不太懂的学生叫一起,我给他们提前上课 【我给同学提前上课】 这样的课程不仅仅让同学们了解知识点,更加让我对知识点有更加深刻的理解,因为有句话说得好" 教别人的同时也是提升自己 "我个人觉得,这样学的知识,绝对忘不了,事实上我到期末考的时候,不怎么复习也会做题,其实更重要的是,让我在班上的地位,瞬间提高一个层次。 通过这个事情,我不仅仅得到知识方面的提升,更加学会了“ 授人以鱼不如授人以渔 ”我相信这句话,在以后的学习、工作中都会大有用处!事实上也证明了,教别人不会影响自己的,反而会得到别人的认可! 实操的重要性 实操这件事,我可以很负责的跟大家说,重要性不亚于理论, 理论和实操缺一不可 ,这个结论,是我的痛苦经历得出来的! 我的专业是电子系的电气专业,所以第一次实操就是工业方面的单片机---- PLC 【PLC接线】 第一件事情是,在课本上面,写着线上要套号码管,我没试过,所以随便搞了号码管,用水笔写了号码套上去,而且套的挺漂亮的,我还沾沾自喜。结果,老师来检查的时候,直接给我骂傻了,因为我的号码管是用水笔写的,所以号码管的墨都糊成一坨了,根本没法看!所以只能全部拆下来,老师还教我们用号码机,打印号码管下来,我这才意识到,书本讲的没这么全啊,原来还要用号码机才行!所以光看书是不行的,还是要自己动手做一遍才知道具体是怎么做的! 【电灯的布局】 第二件事情是,照明灯的布线,书本上面给了接线图,但是没有实际的图片展示,不过我看书本上的布线还是很简单的,所以直接上手了。 做了一半布线之后,我突然发现,怎么搞的,线怎么拐来拐去?用的线怎么这么长?怎么一点都不美观?这时候老师就说,光是知道接线图,知道布线的理论是不行的,必须要结合实际情况,布局的大小,来决定怎么走线好看,怎么走线省材料,怎么走线效果最好 经过这两件事情,我也意识到,光是有理论是不行的,实际情况中实操也是必须的,实操就是增长经验的过程、动手能力的锻炼,这也让我后来的学习养成动手前, 先观察、再计划、后动手 的习惯,理论结合实操经验,让实验越来越好,越来越成功 【机器人课的电脑】 参加各种活动 活动我认为是,大学生成长最快的项目之一,当然我说的活动包括 各种比赛,各种考证 ,虽然这一年我参加的活动基本上都是陪跑 但是我不灰心,因为任何活动只要全力以赴了,肯定是有收获的,大学生日积月累的参加活动,总有成功的那一天,而且参加活动会让自己的大学生活充实起来,不会感觉很无聊,很空虚,每天都过得很忙忙碌碌! 【纸箱小助手】 【第一次画PCB】 【b站上传视频】 每一次参与活动,都仿佛打开了一扇新世界的大门,带给我别样的体验与感悟。这些活动,如同璀璨的星辰,点亮了我的人生天空,让我收获了宝贵的经验。 学会帮助、学会分享 我承认我上大学之前,我是有点自私的,什么事情我都会先想到自己的利益,总感觉帮助别人,就是浪费自己的时间,以前的我很少会分享我的学习成果给别人,尤其是没有任何回报的时候 进入大学,进入电子系,进入网络这个大家庭,我逐渐发现,单枪匹马,永远不可能成功!当我在网上学习的时候,看着免费分享的各种资源, 面包板社区各种帖子从不收费,b站的课程免费观看 ,各种平台,大多数小伙伴都在分享自己的学习成果,互相解决问题, 一句“谢谢大佬”就是最大的回报 我逐渐与人交流,不再把自己的利益看的这么重,有问必答! 在数字化时代的浪潮中,人人共享学习资源已经成为一种全新的知识传播模式。这一模式不仅打破了传统的学习界限,让知识不再受地域、时间和个体的限制,而且极大地促进了知识的普及与创新。 【解决代码问题】 【解决接线问题】 【分享原创代码】 总结、感慨 在大学里,我走过了一段充满挑战与收获的旅程。这段经历不仅让我深入了解了电子技术的奥秘,更 塑造了我坚韧不拔、不断追求卓越的品格 。 从最初对电子世界的憧憬与好奇,到逐步掌握数字电路与模拟电路的基础知识,我不断在 理论与实践 的交织中成长。每一次电路设计的成功,都是对我专业技能的肯定;每一次项目合作的顺利,都是对我 团队协作 能力的锻炼。 在这个过程中,我深刻体会到了电子专业的魅力所在——它不仅仅是一门技术,更是一种思维方式。它教会我 如何分析问题、如何寻找解决方案 ,更教会我如何保持对未知领域的探索精神。 同时,这段经历也让我更加明白,成长不是一蹴而就的。它需要我们不断地 学习、实践、反思与总结 。正是这些点点滴滴的积累,让我从一名电子专业的新手,逐渐蜕变为能够独立承担项目、解决问题的专业人才。 展望未来,我将继续深耕电子领域,不断提升自己的专业技能和综合素质。我相信,在电子的世界里,只有不断追求、不断创新,才能书写属于自己的精彩篇章。
  • 热度 9
    2024-1-24 10:18
    1686 次阅读|
    2 个评论
    从 2011年 毕业 至今,不知不觉已经出来工作十年有余了, 就像当时很多同学都不相信我是从事技术这方面工作的,我自己也不敢相信我会走上电子工程师这条路,并且一走就是十几年;原因无他,就是基础太差了,甚至可以说是零基础了,因为大学期间基本都是在逃课、游戏、玩耍中愉快地度过的,所以 直至 毕业时 我 连三极管的几个脚名的都 是 说不出来的,又或者说当初压根没想过往这方面发展。 回顾这十几年,从几乎零基础,一步一个脚印 慢慢 走过来到成为一名及格的电子工程师,这中间过程实属不易,中间换过大大小小不同的公司,也经历了非常非常多的人和事, 就如那 句“我曾经跨过山河海,也见过人山人海”,至今回想起来也是感慨万分。 临近年尾,趁这段时间有空,打算好好回忆写写我这十多年的工作经历,以作经验教训和总结。 一、初出茅庐:台企编 2011年从广州一所五线大学毕业,在当时非常热烈的南方人才市场找到了一家招聘毕业生的台资企业交了简历并获得面试机会。 三天后 乘坐地铁从广州去到佛山南海千灯湖地铁站下车,当时的广佛线还是新开的,从千灯湖地铁站出来时 周边看到还都是一大片荒草地,转乘公交车来到了目的地,sunon,一家台湾集团企业。 面试过程比想象中的顺利,先是做了份简单的笔试,笔试内容我只写了电阻电容和欧姆定律这些会的简单题,至于其他的大部分我都不会的了;后面来了位胖胖的台干(台湾干部),问了些基本的问题,就开始聊其他了,大学里专业知识没学到,吹牛技能我还是学了不少的,也是感觉那位台干性格比较温和不善言谈吧,所以后面的聊天基本都是我在讲,他在听了,最后就被通知入职了,开始了毕业的第一份正式工作。 S unon公司主要做散热风扇类产品的,应用在台式电脑、笔记本及其他工控产品上,总部在台湾,佛山这边为主要生产工厂,当时大概也有1-2千人了。 所在部门为研发部,研发部内主要分设计一、二、三课和设计改善课,设计一二三课为对接台湾总部新产品开发的样品和试产进行协助跟进的;我所在的为设计改善课,主要针对生产反馈过来的异常问题进行跟进处理解决。。 作为设计改善课仅有的一名电子工程师刚入职我就已经慌了,一方面是自己真的什么都不懂,另一方面,我之所以顺利入职,是因为原本的工程师要离职了,急需新人交接,而在我入职一周左右他就走了, 在 很多东西没学会的情况下,我连找个请教问题的人都没有了。 还好工作内容并不难,在现在看来是比较简单的,对于生产发现的个别小问题,若是以前没发生过的,一般都会写上“此为首次发生异常,请持续追踪跟进” 然后大笔一挥,签名退回暂时结案。一般异常持续发生超过三次才要进行处理了,其中大部分都是风扇转速问题,记得当时最痛苦的就是绕线圈了,需要按特定线径、张力等参数绕制,从而验证匝数和转速问题,而当时的绕线机又是经常出问题的,经常都是机器调试4小时,绕线两分钟那种情况。 (当时几个好朋友的办公室合照) 日常工作 更 多的是考验事情的处理能力, 工作内容也比较杂,有时候去测试温升,有时候去测试噪音或者转速,真正学到的东西并不多,也可能是当时自己并没有专注工作的原因吧,反而是一些人和事印象比较深刻的。 1、某次案子风扇启动有问题的,自己不会的情况下,跑去请教了其他课的电子工程师,通过示波器看到启动有电压尖峰,然后在输入端并了个电容解决了;把解决方案整理后,邮件发送给了所有相关人员,得到了上司台干D全部回复了一句“good job!”虽然不是自己独立解决的,但那一刻也是满满的成就感。 2、在 台资企业,尊重台干是基本前提,否则很多事情都无法开展。当时研发部有位叫JCW的台干,出了名的严厉,每次过去找他签个文件都要被反复询问(一半是考验),回答不出的都会被严厉的责骂,要想顺利的签好个文件就需要对文件报告的内容、前因后果及来龙去脉都了解清楚了才敢拿过去 ,后面回想起来,反而是在他那里得到的成长收获最大。 有段时间来了位武汉大学的毕业生H和我同组,实际上他是读研前过来打暑假工的, 打算工作1-2个月就辞职那种, 因为找那位 jcw 台干签文件而引起争执, 一次之下 跑 了 回来 和课长抱怨 说“那家伙不签~~” ,而课长后面是坐了一大堆台干的,不礼貌的用语自然被后面的台干听到了,迫不得已课长 当场大声的对H 教育了一番。然而事情还没解决,据说我们这边的经理台干D打算要开除H,听到消息后H也有点慌了,不想刚来半个月就被开除,于是连夜写了一份检讨,写完还给我看了下,犹记得当时内容的有点浮夸肉麻,除了基本检讨道歉后,还把和台干D原本萍水相逢,基本没什么沟通交流的关系,写出了感恩,感激,再生父母,父子情深之类的亲密关系,后来事情才得以解决。 3、 在sunon的办公室,每个人座位前都会贴了其对应的姓名和职位的牌,方便不同部门间来往沟通交流。有次下班路上,看到了个很漂亮的女孩子,就鼓起勇气过去打招呼简单认识了,隔天上班时特意跑去她座位前,找到了铭牌知道了她的全名,然后就用公司邮件和她取得了联系,得知大家都是刚毕业的,一下子就多了很多共同话题了。由于公司电脑只能上内网的,于是公司邮箱就成了我们日常上班摸鱼的聊天工具了,再后来我们就发展成为男女朋友了。 (和 当时NPY一起的厂牌合影 ) 4、 H走后, 后面来了位 新 同事 C 和我同组,比我大一岁,性格比较单纯寡言,由于我先入职要带他,所以他 亲切的 叫我“师傅”,实际上他的技术水平可以甩我好几条街了,他个人非常热爱电子技术,刚入职时,去附近图书馆看到一本非常好的电子专业的书,据他所说当时连吃饭钱都不够时,硬是掏钱买了那本85元的书;后面在得知我要离职时,非要把他那本意义非凡的书送给我,我当时的那个感动啊! 若干年后和他再联系得知,他并没有实现他从事电子行业的目标和梦想,据说回家相亲被富家女看上了, 但他说不想回去,想在广东打工,最后还是非常不情愿的 回老家结婚 ,然后 跟着女方家 做生意 了(恨啊,为什么不是我啊!)。而他送的那本书,至今我还一直保存着,可惜十多年过去了我都还没看完。 (详解 各种电子元件原理和应用的书, 500多页,对原理的讲解非常深入 ) 我在sunon工作的时间并不长,大概一年多左右我就提出了辞职,一方面 是当时在这认识的女 朋友辞职了,另一方面在那段时间部门很多人辞职了,给我感觉是外面的世界更大更好,更多机会。 至于辞职后去哪里?什么工作?一切都没有考虑过,纯粹随性而行。 在正式 提交辞职后,台干D经理就找我聊过天,说他有朋友在台湾台达电子 (深圳办公室) 那边 在招人 ,让我离职后过去面试看下;于是在辞职后第一时间我就直奔深圳那边面试。 按照联系人提供位置,来到了在深圳坂田的一个住宅小区里面去,他们的办公室是由住宅房间改造而成的。和以往的面试不一样,在一张会议桌坐下,他们一群人大概5-6个吧,就神情严肃地全部围坐了过来,全部盯着我 。 当时那氛围,那阵仗也是一下子把我震住了 , 领头的是位胖胖的台湾人,让我做完自我介绍后和就问了些专业问题,然后再让其他人都轮流发问 。 除了前面一些问题能勉强回答外,后面的我基本都是含糊带过的,结果可想而知,我失败了。 当时面试的是FAE技术支持职位,深刻记得那位胖胖的台湾人和我说了这样一句话:“像你这样的(水平),去到客户那边分分钟被咬死” 无疑不管技术、经验还是应变能力都达不到要求。 面试失败后,我把结果短信告诉了台干D,台干D打电话过来说他准备调任做国内的FAE负责人,问我是否愿意跟他去北京做FAE,没 作 什么考虑我就答应了,毕竟 对我而言 这是一个难得的去外面闯荡的机会。 正当所有薪资待遇条件都谈好时,准备半个月后去北京时,计划还是发生了变化! 当时玩得非常好的几个同事在我之后也陆续辞职出来了,说准备合伙做些生意,问是否有兴趣,开始我是拒绝的,因为对于去北京还是充满了各种憧憬的。在等待去北京那段时间,反正也是闲着,于是就跟他们一起去看下了。 相对工厂生活的单调,灯火酒绿的都市生活总是充满了各种诱惑,“打工出头难”,“选择大于努力” “搏一搏,单车变摩托”,最终我还是没经受住糖衣炮弹的攻击,婉绝了台干D的工作,选择了合伙做生意。 就如某人经常吐槽说我“总是迷之自信”,当时的我也是那般莫名的自信,总觉得自己不会吃亏;结果可想而知,半年后不但自己的存款全没了,还欠了亲人朋友好几万,为了不让家人知道,有那么一段时间只能天天橄榄菜加白粥度过,回想起来都唏嘘万分。 被社会狠狠地教育了一番,开始认清了现实,就如你永远赚不到你认知之外的钱,什么暴富终究是虚幻,生活还得踏踏实实;为了还债,为了生活,必须要 振作起来 重新打工赚钱了! 小结: 作为 毕业后的 第一份正式工作,在sunon一年左右的工作过程中, 专业技术其实没学到多少,但是因为 有了研发部工作经验,对于几乎没什么 技术 基础的自己,突然觉得设计研发并非那么遥不可及了,让自己潜意识的往设计研发工作方面发展了, 对于后面自己从事设计开发工作起到 一个非常重要的启蒙作用。 在现在看来,当初离开sunon是正确的选择,一方面当时公司正在走下坡路,研发部当时最多差不多100人,而在我工作那段时间只有70人左右,再后来就越来越少了,到最后直接关闭了佛山工厂,搬去了广西;另一方面按照台企那运营模式,核心的设计研发都在台湾,国内这边只是负责协助跟进设计的,继续呆在这边,感觉也很难学到更多的东西了。 不管是刚毕业时还是在工作的那段时间里,由于自身基础较差,思想各方面也不成熟,对于未来的职业规划一直都是模糊不定的,也容易受环境影响,直至尝试转行并受到重大挫败打击后,才意识到,往专业技术方向发展是当下最优并且仅有的一个选择了! 【电子工程师故事】开局零基础,电子工程师是怎样练成的( 第一章 初出茅庐) 【电子工程师故事】开局零基础,电子工程师是怎样练成的( 第二章 登堂入室-职场血泪史) 【电子工程师故事】开局零基础,电子工程师是怎样练成的( 第三章 牛刀小试YE篇) 【电子工程师故事】开局零基础,电子工程师是怎样练成的( 第四章 独当一面 TL篇) 【电子工程师故事】开局零基础,电子工程师是怎样练成的( 第五章 凛冬已至) 【电子工程师故事】开局零基础,电子工程师是怎样练成的( 第六章 终章和一些感悟心得)
相关资源
  • 所需E币: 0
    时间: 2024-9-24 14:14
    大小: 2.82KB
    上传者: huangyasir1990
    一、MQ是什么MQ全称为MessageQueue,即消息队列,是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消息生产、存储、消费全过程的软件系统,遵循FIFO原则。二、为什么用MQ上下班高峰期使用天府通刷码的人非常多,以为做并发量很高,一个出站请求到后台需要做费用结算,或者积分赠送等业务。由于并发很高,并且费用结算和积分等业务本来就耗时,况且支付服务也不一定能承担那么大的请求量。当服务器线程耗尽,后续请求会等待变慢,再加上高并发请求就会导致后续请求越来越慢,请求长时间等待,导致大量请求超时。并发太高,可能会导致服务器的内存上升,CPU使用率急速上升,甚至导致服务器宕掉。加入MQ后的效果高并发请求在MQ中排队,达到了消除峰值的目的,不会有大量的请求同时怼到支付系统服务异步调用,“天府通出站API”把结算消息放入MQ就可以返回“出站成功,费用稍后结算”给用户,响应时间很快服务彻底解耦,即使支付服务挂掉,也不影响“天府通出站API”正常工作,当支付系统再启动仍然可以继续消费MQ中的消息。三、MQ的使用场景1异步&解耦笔者曾经负责某电商公司的用户服务,该服务提供用户注册,查询,修改等基础功能。用户注册成功之后,需要给用户发送短信。2消峰高并发场景下,面对突然出现的请求峰值,非常容易导致系统变得不稳定,比如大量请求访问数据库,会对数据库造成极大的压力,或者系统的资源CPU、IO出现瓶颈。3消息总线所谓总线,就是像主板里的数据总线一样,具有数据的传递和交互能力,各方不直接通信,使用总线作为标准通信接口。笔者曾经服务于某彩票公司订单团队,在彩票订单的生命周期里,经过创建,拆分子订单,出票,算奖等诸多环节。每一个环节都需要不同的服务处理,每个系统都有自己独立的表,业务功能也相对独立。假如每个应用都去修改订单主表的信息,那就会相当混乱了。4延时任务用户在美团APP下单,假如没有立即支付,进入订单详情会显示倒计时,如果超过支付时间,订单就会被自动取消。非常优雅的方式是:使用消息队列的延时消息。四、RabbitMQ主要特性: 1.可靠性:提供了多种技术可以让你在性能和可靠性之间进行权衡。这些技术包括持久性机制、投递确认、发布者证实和高可用性机制; 2.灵活的路由:消息在到达队列前是通过交换机进行路由的。RabbitMQ为典型的路由逻辑提供了多种内置交换机类型。如果你有更复杂的路由需求,可以将这些交换机组合起来使用,你甚至可以实现自己的交换机类型,并且当做RabbitMQ的插件来使用;  3.消息集群:在相同局域网中的多个RabbitMQ服务器可以聚合在一起,作为一个独立的逻辑代理来使用;  4.队列高可用:队列可以在集群中的机器上进行镜像,以确保在硬件问题下还保证消息安全; 5.多种协议的支持:支持多种消息队列协议; 6.服务器端用Erlang语言编写,支持只要是你能想到的所有编程语言; 7.管理界面:RabbitMQ有一个易用的用户界面,使得用户可以监控和管理消息Broker的许多方面; 8.跟踪机制:如果消息异常,RabbitMQ提供消息跟踪机制,使用者可以找出发生了什么; 9.插件机制:提供了许多插件,来从多方面进行扩展,也可以编写自己的插件五、生产者代码示例importpika#连接到RabbitMQ服务器connection=pika.BlockingConnection(pika.ConnectionParameters('localhost'))channel=connection.channel()#声明一个队列channel.queue_declare(queue='hello')#发送消息channel.basic_publish(exchange='',           routing_key='hello',           body='HelloWorld!')print("[x]Sent'HelloWorld!'")#关闭连接connection.close()六、消费者代码示例importpika#连接到RabbitMQ服务器connection=pika.BlockingConnection(pika.ConnectionParameters('localhost'))channel=connection.channel()#声明一个队列channel.queue_declare(queue='hello')#定义消息处理函数defcallback(ch,method,properties,body):  print("[x]Received%r"%body)#设置消费者channel.basic_consume(queue='hello',           auto_ack=True,           on_message_callback=callback)print('[*]Waitingformessages.ToexitpressCTRL+C')channel.start_consuming()
  • 所需E币: 0
    时间: 2023-11-29 14:22
    大小: 4.78KB
    大家好,今天我将给大家分享关于如何开发一个数据库系统的知识,将从0到1手把手带着一步步去开发这个项目,希望我的分享对大家的学习和工作有所帮助,如果有不足的地方还请大家多多指正。一、什么是数据库系统数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成 二、数据库管理系统的主要功能包括数据定义功能:DBMS提供数据定义语言(DataDefinitionLanguage,DDL),用户通过它可以方便地对数据库中的对象进行定义数据组织、存储和管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。数据操纵功能:DBMS提-供数据操纵语言(DataManipulationLanguage,DML),用户可以使用DML操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等数据库的事务管理和运行管理:数据库在建立、运用和维护时由数据管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复数据库建立和维护功能:数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。三、数据库系统结构1.1模式(概念模式或逻辑模式)定义:数据库中全体数据的逻辑结构特征的描述,是所有用户的公用数据库结构。特性:一个数据库只有一个模式模式与应用程序无关,只是数据的一个框架1.2子模式(外模式或用户模式)定义:数据库用户所见和使用的局部数据的逻辑结构和特征的描述,是用户所用的数据库结构特性:子模式是模式的子集一个数据库有多个子模式,每个用户至少使用一个子模式同一个用户可以使用不同的子模式,每个子模式可为不同的用户所用1.3内模式(存储模式)定义:是数据物理结构和存储方法的描述。它是整个数据库的最低层结构的表示。特性:一个数据库只有一个内模式,内模式对用户透明一个数据库由多种文件组成,如用户数据文件,索引文件及系统文件内模式设计直接影响数据库的性能以下是开发流程:在idea中构建如下几个子模块工程:@PostMapping("/doLogin")@ApiOperation(value="一键注册登录接口",notes="一键注册登录接口",httpMethod="POST")publicGraceJSONResultdoLogin(HttpServletRequestrequest,                HttpServletResponseresponse,                @RequestBody@ValidRegisterLoginBOregisterLoginBO,                BindingResultresult);验证的字段上方可以写一些相关的注解,系统识别后会自动检查RegisterLoginBO.javapublicclassRegisterLoginBO{  @NotBlank(message="手机号不能为空")  privateStringmobile;  @NotBlank(message="短信验证码不能为空")  privateStringsmsCode;  publicStringgetMobile(){    returnmobile;  }  publicvoidsetMobile(Stringmobile){    this.mobile=mobile;  }  publicStringgetSmsCode(){    returnsmsCode;  }  publicvoidsetSmsCode(StringsmsCode){    this.smsCode=smsCode;  }  @Override  publicStringtoString(){    return"RegisterLoginBO{"+        "mobile='"+mobile+'\''+        ",smsCode='"+smsCode+'\''+        '}';  }}如果校验有问题,那么可以直接获得并且放回给前端即可。BaseController.java/** *验证beanBO中的字段错误信息 *@paramresult *@return */publicMap<String,String>getErrors(BindingResultresult){  Map<String,String>map=newHashMap<>();  List<FieldError>errorList=result.getFieldErrors();  for(FieldErrorerror:errorList){    //发生验证错误所对应的某一个属性    StringerrorField=error.getField();    //验证错误的信息    StringerrorMsg=error.getDefaultMessage();    map.put(errorField,errorMsg);  }  returnmap;}一般来说,admin系统不会有主动注册功能,账号都是分配的,那么默认就会存在一个基本账户,这也是预先通过代码生成用户名和密码的。直接手动生成即可:<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>同理,查询操作也是类似JPA的操作,再继承Repository后直接使用其内置api即可:FriendLinkMngControllerApi.java@PostMapping("getFriendLinkList")@ApiOperation(value="查询友情链接列表",notes="查询友情链接列表",httpMethod="POST")publicGraceJSONResultgetFriendLinkList();首先可以在数据库通过写sql脚本实现查询SELECTc.idascommentId,c.father_idasfatherId,c.article_idasarticleId,c.comment_user_idascommentUserId,c.comment_user_nicknameascommentUserNickname,c.contentascontent,c.create_timeascreateTime,f.comment_user_nicknameasquoteUserNickname,f.contentasquoteContentFROMcommentscLEFTJOINcommentsfonc.father_id=f.idWHEREc.article_id='2006117B57WRZGHH'orderbyc.create_timedesc目前我们所搭建的eureka是单机单实例的注册中心,如果挂了,那么整个微服务体系完全不可以,这是不应该的,所以为了实现eureka的高可用,我们可以搭建集群。在进行集群构建之前,大家先参照目前的eureka再去构建一个一模一样的工程,可以取名为springcloud-eureka-cluster。为集群中各个eureka节点配置hosteureka: instance:  hostname:eureka-cluster-${port:7001}  #集群中每个eureka的名字都要唯一 #自定义eureka集群中另外的两个端口号 other-node-port2:${p2:7002} other-node-port3:${p3:7003} client:#  register-with-eureka:false#  fetch-registry:false  service-url:   #集群中的每个eureka单实例,都需要相互注册到其他的节点,在此填入集群中其他eureka的地址进行相互注册   defaultZone:http://eureka-cluster-${eureka.other-node-port2}:${eureka.other-node-port2}/eureka/,http://eureka-cluster-${eureka.other-node-port3}:${eureka.other-node-port3}/eureka/我们自己测试的时候时间可以设置为10秒内有10次,我认定非法请求,直接限制这个ip访问15秒,15秒后释放。(像有的网站会出现二维码让你扫描通过,或者手机验证码或者人机交互判断你当前是否是人还是机器,因为有可能是爬虫请求)开发步骤:首先在yml中设置基本参数:@OverridepublicObjectrun()throwsZuulException{  System.out.println("执行【IP黑名单】Zuul过滤器...");  //获得上下文对象requestContext  RequestContextrequestContext=RequestContext.getCurrentContext();  HttpServletRequestrequest=requestContext.getRequest();  //获得ip  Stringip=IPUtil.getRequestIp(request);  /**   *需求:   *判断ip在10秒内请求的次数是否超过10次,   *如果超过,则限制访问15秒,15秒过后再放行   */  finalStringipRedisKey="zuul-ip:"+ip;  finalStringipRedisLimitKey="zuul-ip-limit:"+ip;  //获得剩余的限制时间  longlimitLeftTime=redis.ttl(ipRedisLimitKey);  //如果剩余时间还存在,说明这个ip不能访问,继续等待  if(limitLeftTime>0){    stopRequest(requestContext);    returnnull;  }  //在redis中累加ip的请求访问次数  longrequestCounts=redis.increment(ipRedisKey,1);  //从0开始计算请求次数,初期访问为1,则设置过期时间,也就是连续请求的间隔时间  if(requestCounts==1){    redis.expire(ipRedisKey,timeInterval);  }  //如果还能取得到请求次数,说明用户连续请求的次数落在10秒内  //一旦请求次数超过了连续访问的次数,则需要限制这个ip了  if(requestCounts>continueCounts){    //限制ip访问一段时间    redis.set(ipRedisLimitKey,ipRedisLimitKey,limitTimes);    stopRequest(requestContext);  }  returnnull;}privatevoidstopRequest(RequestContextrequestContext){  //停止继续向下路由,禁止请求通信  requestContext.setSendZuulResponse(false);  requestContext.setResponseStatusCode(200);  Stringresult=JsonUtils.objectToJson(      GraceJSONResult.errorCustom(          ResponseStatusEnum.SYSTEM_ERROR_BLACK_IP));  requestContext.setResponseBody(result);  requestContext.getResponse().setCharacterEncoding("utf-8");  requestContext.getResponse().setContentType(MediaType.APPLICATION_JSON_VALUE);}上面这些都是通过不同key要执行多次才能得到结果,一般来说我们会使用es的aggs功能做聚合统计,会更好。通过一个脚本来统计男女数量:POSThttp://192.168.1.203:9200/fans/_doc/_search{  "size":0,  "query":{    "match":{      "writerId":"201116760SMSZT2W"    }  },  "aggs":{    "counts":{      "terms":{        "field":"sex"      }    }  }}以下就是数据库系统开发的整个流程讲解,感谢大家的阅读
  • 所需E币: 0
    时间: 2023-10-26 10:01
    大小: 1.67KB
    无论你是数据库内核研发、DBA、还是后端研发,能够手写一套自己的数据库系统,都是你突破技术发展瓶颈的有效途径。[11章]技术大牛成长课,从0到1带你手写一个数据库系统课程将带你从架构设计,原理剖析,再到源码的实现,手把手带你构建一套完整的数据库系统,让你深度掌握数据库底层,及更多数据库高端技术,具备解决大量生产级数据库问题的能力,助力成为高端技术人才!从数据库架构设计到功能实现,吃透底层原理,解决大量生产级问题具备从0到1数据库系统的架构设计能力从需求分析,系统分析,到系统架构设计,以及面向未知故障场景防御式编程,灵活运用设计模式,全面深入理解数据库系统架构深度掌握数据库底层原理及系统性方法论掌握SQL语法解析、语义解析原理,数据库如何生成执行计划,数据库底层存储机制、事务管理机制,C/S架构网络服务,综合性提升数据库运维、调优能力提升大量生产级数据库问题高效解决能力深入掌握数据库索引调优思路、瓶颈点,如何快速定位线上问题,深入挖掘针对数据库的面试题,知其然更知其所以然,有效突破你的疑难杂症问题解决能力理论结合实际场景综合性落地,轻松吃透核心技术底层原理应用场景复用到日常开发场景中,如何运用高级数据结构、算法和设计模式,如何正确面对高并发进行编程,如何进行数据库的优化,如何理解数据库的执行计划分析慢SQL的原因等。原理剖析深度剖析数据库系统原理,将数据库几十年发展精髓拆解并呈现,端到端解析数据库系统中的各种工程trick,结合具体实现案例(MySQL/PostgreSQL/SQLite)展现系统级实现方案源码实战手把手实现每一行代码,掌握每行代码的原理,实现代码规模巨大的数据库系统原型,开发、debug过程演示真实传授解bug的核心方法论,探讨各种工程技巧、可优化的空间,引发深层思考多场景数据库解决方案,灵活解决大量生产级问题数据库性能及扩展评估数据库性能、扩展数据库功能特性、数据库扩展的方法和机制数据库优化分析数据库性能瓶颈、配置数据库索引、执行计划分析、分析系统硬件瓶颈大数据量存储如何进行数据存储、设计端到端大数据量存储方案、评估大数据量对数据库的影响数据库高可用数据库高可用的挑战、数据库WAL机制、WAL机制在数据库高可用中的应用数据库网络规划OS的网络模型、高效实现网络编程、数据库如何面对高并发挑战数据库故障定位定位数据库中故障的来源、如何对故障进行响应、进行数据库系统的高效运维
  • 所需E币: 1
    时间: 2023-5-9 15:19
    大小: 7.88MB
    非线性成长:不确定时代下的职业发展和商业通关策略-黄有璨
  • 所需E币: 1
    时间: 2022-5-9 13:02
    大小: 6.61MB
    上传者: 西风瘦马
    质量总监成长记.pdf
  • 所需E币: 0
    时间: 2022-3-17 00:41
    大小: 1.22MB
    上传者: samewell
    2022年半导体行业:穿越周期_拥抱成长.pdf
  • 所需E币: 0
    时间: 2022-3-2 13:04
    大小: 13.06MB
    上传者: 西风瘦马
  • 所需E币: 0
    时间: 2022-3-15 00:41
    大小: 8.97MB
    上传者: samewell
    设计师的个人成长与组织成长_IxDC2017.pdf
  • 所需E币: 5
    时间: 2021-4-14 23:31
    大小: 49.83MB
    上传者: stanleylo2001
    嵌入式系统开发之道-菜鸟成长日志与项目经理的私房菜.rar
  • 所需E币: 1
    时间: 2021-3-28 23:41
    大小: 57.78MB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 5
    时间: 2021-3-20 22:46
    大小: 1.45MB
    上传者: samewell
    华为传一部中国式企业的浩荡成长史!层层讲透华为公司30年来从小作坊到世界巨头的全历程!知名财经作家历时10余年深入观察,6年倾力调研,3年潜心创作!揭开华为发展壮大的秘诀,探究其商业理念与管理思想,披露其成功的经验与教训
  • 所需E币: 5
    时间: 2021-3-10 18:38
    大小: 1.55MB
    上传者: kaidi2003
    “拥抱成长”新能源汽车产业链系列报告:全球电动化进程持续深化,关注高成长+结构性机遇
  • 所需E币: 5
    时间: 2020-12-1 18:17
    大小: 15.41MB
    上传者: samewell
    华为传一部中国式企业的浩荡成长史!层层讲透华为公司30年来从小作坊到世界巨头的全历程!知名财经作家历时10余年深入观察,6年倾力调研,3年潜心创作!揭开华为发展壮大的秘诀,探究其商业理念与管理思想,披露其成功的经验与教训
  • 所需E币: 2
    时间: 2020-6-7 12:59
    大小: 38.49MB
    上传者: loromrj
    IT项目经理成长手记,供学习项目管理的作为参考资料