1.å½å
ä½ä»£ç å¹³å°åªå®¶å¼ºï¼
2.想做一个app找个技术合伙人,产品产品能够在什么平台找到合适的大牛大牛技术大牛嘛
3.ç¨åºåå¯ä»¥åå¯ä¸çå 个ç½ç«
4..NET Core/.NET 开源项目汇总:WPF组件库
5.从0到1,Vue大牛的源码前端搭建——异常监控系统(下篇来啦)
å½å ä½ä»£ç å¹³å°åªå®¶å¼ºï¼
è¯ä¸å¤è¯´ï¼ç´æ¥ç»å¤§å®¶æ¨èå 个å½å æ¯è¾ä¸»æµçä½ä»£ç å¼åå¹³å°ï¼1ãç»ä¿¡Informatï¼æ¯æ·±å³åºç³åä½æ¨åºçé¢åä¸å¡äººåçä½/é¶ä»£ç å¼åå¹³å°ï¼å ·æé«åº¦çµæ´»çâæ°æ®+æé+æµç¨âå¨æä¿¡æ¯ç®¡ç模åï¼ç¨æ·ä¸åéè¦ä»¥æ¥ä»£ç å¼åï¼å¯ä»¥éè¿èªä¸»é ç½®çæ¹å¼ï¼å¿«éæ建ä¼ä¸è¿è¥æéçå类管çç³»ç»ãèä¸å®ä¸ä¼ä¸å¾®ä¿¡ãééç´§å¯éæï¼è½å¤å¤§å¹ è约ç åææ¬åæ¶é´ï¼å¸®å©ä¼ä¸å®ç°å ¨æ¹ä½çæ°åå转åãå®è¿æä¾äº+ç°æçåºç¨åè¡ä¸æ¨¡æ¿ï¼ä¼ä¸ä¸éè¦ä»é¶å¼å§ï¼ç´æ¥åºäºåºç¨æ模æ¿æ¥ä¿®æ¹ææå±åè½ï¼å¯ä»¥æ´å¿«éé«æå°æ建åºè´´è¿éæ±çåºç¨ã
第äºä¸ªï¼ééå®æï¼é¿éèªå·±å¼åçä½ä»£ç å¹³å°ï¼è·ééä¹ææ¯è¾æ·±åº¦çç»å®ï¼å ¶å®åè½é½æ¯å·®ä¸å¤çï¼éè¿æææ½çæ¹å¼è®¾è®¡è¡¨å设计æµç¨ï¼è®¾è®¡ä»ªè¡¨çä¹åï¼ä½ å¯ä»¥ä¸é®æå®åå¸å°çµè端åææºç«¯ï¼è®©ä½ å ¬å¸å ¶ä»åäºæ¥ä½¿ç¨ã
第ä¸ä¸ªæ¯å¥¥å²ï¼è¿ä¸ªä¹æ¯ééåè¡çãå®çç¹ç¹æ¯é¢åä¸åçåºæ¯åä¸åç人群åäºä¸äºç»åãæ¯å¦è¯´ï¼æé¢åä¸ä¸å¼åè çãé¢åä¸å¡äººç¾¤çãé¢åæ°åå管çåçï¼ä½ å¯ä»¥æ ¹æ®ä½ ä»¬å ¬å¸ä¸åçå¼åæ°´å¹³å»éæ©æä¸ä¸ªã
第å个æ¯ææ³äºãæä¹æ以ä»ç»è¿ä¸ç¹ï¼æ¯åç°ä»ä»¬æ OA å CRM åäºæéï¼ç¸å½äºæ¯ä¸æ³¨å¨æä¸ä¸ªç¹ä¸ãå¦æä½ å¯¹è¿æ¹é¢éæ±æ¯è¾å¼ºçè¯ï¼å¯ä»¥è¯ä¸è¯ã
第äºä¸ªå¢å°±æ¯ä¼ä¼´äºï¼åå§äººæ¯æ´å¿åº·ï¼è¿å»çååä¸åå°ï¼å½æ¶åä¸å°±åäºDiscuzï¼å½å ç论å软件ï¼å ¶å®ä¸ç´ä¹æ¯ To B å¾ï¼ä¹æ¯å½å ææ©ä¸æ¹åé¶ä»£ç å¼åå¹³å°çã
ä»ä»¬å ¶å®è·ä¼ä¸å¾®ä¿¡çæéæ¯è¾å¤ï¼ä½ å¨ä¼ä¸å¾®ä¿¡éè¾¹å线ä¸çéå®ï¼ä¸æ´å¥çCRMæµç¨ä»ä»¬åçæ¯æ¯è¾å®åçã
第å 个就æ¯æéäºï¼è¿ä¹æ¯ä¸ä¸ªé常èççåä¸å ¬å¸äºï¼ä»ææ©æéå»åä¼ä¸æå¡ï¼ç¶åç°å¨æéäºåçä½ä»£ç ãä»ä»¬å®¶çæä¸ä¸ªç¹ç¹å°±æ¯è½å¤æä¾ç§æåçé¨ç½²ã
å¦æä½ å¯¹æ°æ®å®å ¨åæ¹é¢æè¦æ±çè¯ï¼ä½ å°±å¯ä»¥è¯è¯ï¼ä»ä»¬æè§ä¼æ´éåä¸å¤§åçä¼ä¸ã
第ä¸ä¸ªå°±æ¯ç®éäºï¼æåç°ä»ä»¬çä»ç»åå¾ç¹å«å¥½ï¼ä½ ç¨å®å»åå¼åï¼åºæ¬ä¸å°±æ¯ä¸æ¥ï¼ç¬¬ä¸æ¥æ¯è®¾è®¡è¡¨åï¼ç¬¬äºæ¥è®¾è®¡æµç¨ï¼ç¬¬ä¸ä¸ªå°±æ¯ä»ªè¡¨çãç®åçåºç¨æ建ç¨å®è¿è¡ã
以ä¸å 容ï¼å¸æ大家ææ帮å©ï¼
想做一个app找个技术合伙人,能够在什么平台找到合适的产品产品技术大牛嘛
如果说已经有成熟的产品渠道而且商业模式已经验证了的话,找合伙人其实不是大牛大牛很难的,但技术合伙人确实在众多合伙人当中是源码设计素材站源码最难找的,因为技术合伙人要求的产品产品知识技能要非常高,其次要看好项目愿意全身心投入去做这件事情。大牛大牛而且真正的源码技术大牛要么薪资太高请不起,要么就是产品产品对方看不上,你能做的大牛大牛只能是尽自己最大的努力去沟通和磨合,然后给他展示这个项目的源码前景,想尽办法去吸引他让他加入,产品产品这种机会是大牛大牛可遇而不可求的。
我简单推荐几个有机会找到技术合伙人的源码平台吧。
一、创业找合伙人平台
1.来爱合伙,得到你身边的创业合伙人脉
2.青伙APP-专注于青年创业合伙的社区平台
3.乌鸦部落_对接资源和服务的创业社区
4.缘创派 & 投缘帮
二、技术人、开发者活跃平台
1.程序员客栈
2.CSDN
3.V2EX
4.CTO
附:找到技术合伙人之后,那么怎样确定对方是靠谱的合伙人呢?我认为在开始合伙之前你应该问对方这十个问题,然后再来判断。
关于创业找合伙人需要知道的十个问题
分享嘉宾:章宇辰
嘉宾简介:上海合起跃信息技术有限公司CEO,创立创业找合伙人社交平台爱合伙,现已累积万注册用户,包括4万实名认证创业者和企业主。 全球创业领导力课程(Startup Leadership Program)中国负责人,自年累积过百家学员企业从SLP的周培训毕业,多家学员企业在毕业后获得包括中国加速在内的VC机构的投资。
1.初期合伙最应该注意的是什么?
这个问题的答案其实是有一整套的方法论,我希望把这套方法论分享给大家,特别是能让大家解决初期合伙这样一个阶段会出现的一些问题。
初期合伙其实存在非常强的一个不确定性,这种不确定性可能来自于项目本身也来自于人,一开始合伙的时候大家有好奇心,都以为对方能干什么,都以为对方带了某种特殊的技能,可以帮助项目怎么样,当然这些都有可能发生,但最终时间会告诉你真相。
站在个人的立场,我们不能让这些风险完全不可控,要尽量降低这样的一个不确定性所以才会有这样一套方法。让双方在见面的时候,在还没有正式确定合伙的时候,在大家第一次面对面坐下来聊的时候,就已经开始在讨论这样不同方面的一些问题了,包括你真的相信什么?你的个人目标是什么?你到底能够干什么?你能够能够投入多少?能够承担多少风险?
2.合伙人协议是否可以写入“公司章程”?这样就能更具备法律效用?
实际上,现在的公司章程基本在所有中国城市的工商局都是模板化的,如果你去工商局注册一家新的试卷答题网站源码公司,然后在公司章程里面出现了一些当地工商局老师看不懂的东西,那么他基本上不太会让你注册这个公司,所以把合伙人协议写入公司章程,我觉得可行性不是很大。
而且我们今天讲的这些问题呢,并不是直接上升到法律的层面,因为这些问题法律还没有办法完全触及到,更多的是人与人之间软性的合作协作,然后再考虑自身能力是否互补,能够承担多少风险这样的一个情况。
我不建议大家尝试把合伙人协议写入公司章程,但是我们可以把刚给到大家的十个问题结论把它书面的记下来,有些我们可以以书面的方式把它写入到内部的协议上面,可能并不一定完全具备法律效用,但是可以作为大家的备忘录。即便是在合伙人这个核心团队的搭建上面,我们都是走过一个正规的,系统化的方法,所以,每一次的结论我们都可以把他书面记下来以备日后所用。
3.跨地区合伙的可能性?
跨地区合伙我觉得是完全可能的。因为我自己的合伙人和我并不是在同一所城市,爱合伙也有其他的合伙人是在另外的城市,这种可能性取决于这个合伙人他负责的是团队哪块内容,有些角色可能恰恰不需要他和团队在一块儿,而是更需要他在不同城市开拓不同的业务。
现在互联网这么发达,我们团队内部都会用一些线上的协作工具,我也建议大家可以去尝试,这些协作工具其实已经可以很好地解决了双方沟通和异地协作的问题。
4.前期所有都很谈得来,后期做事,合伙人能力上有了不足产生差距,或者状态上发生改变,该怎么解决?
这个问题我觉得问得非常好,其实就是我们今天讲到的最后一个模块。每一个合伙人的能力,他可能是适用于整个项目的不同阶段,当然在前期大家都需要一个了解的过程,那么,在你开始创业的时候会相对比较习惯性的把事情想得非常好,创业的人都是给自己打了十足的鸡血,所以他肯定是习惯性的乐观去想整个事情的发展和每个人的投入和每个人的能力展示,这是很正常的。
但是当公司遇到困难的时候,你会发现有些合伙人的能力可能跟不上,可能是主观和客观的跟不上了,你需要有这样的一加五源码一个事先条件或者是约定来应对这样一个可能会出现的情况,即便是员工他也可能会因为主观或者客观原因没有办法胜任他的工作,那么你的劳动合同里面就会有这样一条规定,人事录用之前,你可能会跟他讲如果这样的情况出现会怎么样,你可能会制定一套考核标准,合伙人也是一样。
当然如何制定这个考核标准其实是蛮有艺术的一件事情,因为合伙人其实是最早加入你公司的员工。他是在一个最不确定的情况下加入你们公司,可能你这个公司还没有一个已经规模化运作的业务,你没有办法用一个简单的方法去考核,这个没有统一的答案,我只能说每个项目都不一样,每种情况都不一样啊,你们可以自己去制定一个适合你们自己实际情况的考核办法,与合伙人讨论如何制定考核办法这样的的过程,我觉得能够极好地展现出你和你的合伙人,潜在合伙人之间默契的程度,谈一件好的事情大家都是笑哈哈,很乐观,但是谈一件不好的情况的时候,就能够看出一些本质的东西。
5.技术入伙与资金入伙的股权有没什么好的方式去分配?
资金入伙和技术入伙都是很普遍的一个情况,一个项目肯定是有人出资的,出资这一块比较好计算,你出多少钱,然后整个项目会有一个简单的估值,我想说的是技术入伙,一些非传统的带有一定颠覆性意义的互联网的创业项目,或者是一些新的模式的创业项目。人的投入,技术的投入,个人智慧的投入,其实是非常重要的。所以资金的投入,你可以看成是早期的天使投入,有了这笔钱能够启动这个项目,但是真正能让项目走的长远的肯定是背后的人带来的资源和技术,还有智慧。
如果项目成功了,我的建议肯定是把能够带技术带智慧进来的合伙人创始人会成为项目主要的收益者,但是技术入股,它不像资金入股从第一天就已经投入了,因为技术入股是需要时间的,如果合伙人只工作了一天,一个月那么其实他技术入股的含金量很小,这就是我刚刚提到过的技术入股的股权按照时间来兑换的机制。
如果你是net云购源码技术合伙人,或者带资源,带智慧资产投入的合伙人,那么你的股权是按照时间来兑换的,这个和资金入伙的分配不一样,资金入伙第一时间就拿到了股权,技术入伙你如果第一年就离开公司的话,一般来说你是拿不到股权的,比如说你们约定的时间是四年可以拿到百分之四十的股权。第一年之内离开这个项目的话,就拿不到任何股份,如果你是第一年之后,又只做了一年,那么第一年之后,你就可以拿到百分之十,然后你可以按照季度,月甚至按照周呈现一个线性的增长。
6.合伙的话肯定是要有时间投入的。如果是有兼职的话,那么如何才能保证合伙人的投入?
这个我没有办法用一个统一的方法来解决,但既然能够把这个话题抛出来,非常重要的一点是你们要去谈这个事儿而不怕得罪彼此,不怕损害这段你们臆想中可能会非常好的合作关系,而且在最早的时候就要去谈这件事情,回到是兼职还是全职的问题,你很难就是在一个项目还是萌芽阶段时候就要求所有人都马上全职。
其实这个很难去保证,所以呢,有兼职开始创业的情况我觉得这个是很普遍的,特别是在爱合伙的平台上面,很多的会员都是在兼职找创业项目,对这些人来说。他们发现一个好项目,可能最开始的一段时间就是兼职投入的状态。
那么你怎么能保证合伙人在兼职情况下可以投入呢?就像我之前说的还是要约定和制定一个考核办法,不管是投入时间还是效果的考核,至于具体考核的方法,每个项目都不一样,但是去探索这样一种考核的方法,把这个问题客观地抛出来聊,我觉得这就是非常重要的一步。
7.投资初期,如何找到合适的股东来进行项目投资?
因为资金这一块基本上都是新创项目的痛点,没有资金相当于截流了。这很难用一个标准的回答方式来回答这个问题,因为所有的新创项目找投资人非常重要,但是找投资人的话,一方面是为了资金为了钱,另外一方面也是apk文件源码提取为了验证你的创业想法。
所以我建议找投资的话,其实是在找相信你选择的这个赛道,相信你选择的这个方向,相信你自己在追求的这个价值的天使投资人。天使投资人其实给你带来的不光是资金,因为他们资金从绝对数上来说肯定是很有限的,我听说中国著名天使投资人薛蛮子,其实投下来的话一般一个项目也就是五十万,但是创业者真正看重的是老薛他背后带来的这些资源,是他本身为了项目站台所带来的的影响力。
8.合伙过程中难免产生分歧,以及抱怨。创业的初期是艰难的,我们应该如何处理分歧,并保证前期的稳定?
什么样的分歧是致命的分歧,什么样的分歧,只是表面的分歧?我觉得有很大多数的分歧应该是你们可以定性的,有些分歧是关于产品的,可能是UI,可能是某种推广的方式,可能是你在产品销售中的一些话术,这些都是表面的分歧,它不影响核心。
如果是核心的分歧,那就是你们团队在创业开始之后已经约定的,不可以改变的一些东西。比方说你们就是要做一个社交平台,或者说你们就是要改变人的沟通方式,这应该是一个团队在一块非常重要的一个原因,这个不应该被改变,那如果在这个上面产生分歧我觉得它就是一个核心的分歧。
9.自己找合伙人找钱和专业性投资公司帮我们找合伙人找钱的区别在哪里?
我知道一些投资机构有时候也会来找到我们,因为他们也想为他们所投的标的公司去找合伙人。一般这样的项目相对来说不会在一个非常早期的创业阶段,如果是早期项目的话一般投资公司不会介入找合伙人,因为这是创始人展示他自己的创业能力,自己找人脉能力最基本的一面。
所以在早期的时候,其实不太会有专业的投资机构来代劳,即便有我也不建议。应该还是你通过类似于像爱合伙或者你自己的微信朋友圈等渠道,自己去找自己去聊,因为这个过程其实是验证你自己创业想法非常好的机会。
如果到了项目发展后期阶段,比方说是AB轮或者是更后面的阶段,这个时候其实所谓找合伙人我觉得是等同于找高管吧,那么你可能会通过一些猎头平台啊,或者是爱合伙平台也会提供一些这样的服务,给相对比较后期的公司提供物色合伙人但其实更像是一个高管角色的猎头服务。
.初期的合伙人离场带来的连锁效应很大,遇到这种情况如何妥善处理?
初期的合伙人离场确实对项目的伤害很大,但如果出现这样情况,我想创始人应该先坐下来想想为什么会这样。合伙人离场是因为项目的原因还是因为人的原因,如果是项目的原因应该从项目里面去找解决方法,如果是人的原因,这个合伙人可能本身就不太适合这个项目,当务之急是如何去物色一个合适的人尽快来弥补这个空缺。
当然这样的问题在项目后期发生的话,我们没有办法避免,但是如果可以的话,应该尽可能做好一些预防措施和准备,如果合伙人他自己没有办法承担应该有的责任,他的能力跟不上了,要离场了,那么你需要通过什么样的制约条件和措施来对项目进行止损。
注意事项:
1.项目在什么时候可以进行接触投资人或者机构,需要注意点什么?
接触投资人是验证你创业想法一个非常好的方法,从而去获得一些反馈,特别是一些在行业内有一定深度,不是说非常知名,但是至少是懂你这个创业领域的投资人。
所以我的建议是一开始就想办法去接触他们,如果是在硅谷的话,我们有个说法,一开始就去邀请他们喝咖啡,你可以不跟他们约定好时间,比方说和每个投资人大概聊半个小时一个小时,你不用说一定要从谁这边拿到投资,但这样的一个方式可以让你重新从不同的角度来思考你的创业项目是否可行。
当然在去找投资的时候,特别是一些机构,或者是个人的天使投资,你应该知道他们是不是懂这一块的。所以,如果是本身不看这一块,或者不懂这一块,没有办法给你提出一些建设性观点的,你在跟他聊之前就应该知道,这样的话可以避免浪费时间。我还是那个观点就是尽量少浪费时间,创业者最重要的是时间,所以尽可能地高效率,把时间花在应该花的地方。
2.技术合伙人坚决不要和不懂技术的创始人在一起吗?
这个问题没有绝对,肯定不能说坚决不要。这个问题的背后其实是映射出了一个客观存在的现象,就是技术派的合伙人和完全不懂技术或者是不懂产品,只懂业务的创始人在一块儿的话确实会出现双方在理解上的一些偏差,这些理解上的偏差客观上会影响到项目上的发展,在一些关键决策上面效率会低一些。
那么又回到我们今天的方法论了。如果你是一个不太懂技术的创始人,今天你要去谈一个技术合伙人,你如何在一开始坐下来的时候就开始谈这个问题,其实从第一个模块就可以谈到这些,因为从一个技术合伙人角度来说,他对一个项目的理解可能会跟你从一个非技术的角度思考有一些偏差,那么你们一开始的话就应该深挖这个。这个项目里有哪一块是你们共同相信的,从你非技术的角度和从技术角度是不是可以真的走到一块儿。
ç¨åºåå¯ä»¥åå¯ä¸çå 个ç½ç«
ç¨åºåå¯åçå¯ä¸1ãCODINGç å¸
èåçCodingæä¸çäºèç½è½¯ä»¶å¤å æå¡å¹³å°ï¼å¹³å°ä»¥å¤å 为主ã
2ãå¼æºä¼å
å¼æºä¸å½çä¼å å¹³å°ï¼ä¸»è¦æ¯ä»¥ä¼å 为主ã
3ãçªå «æ
æ¾å ¼èçå°æ¹ï¼ä¸»è¦æ¯å ¥é¨çº§é¡¹ç®ï¼ä¸éåä¸ä¸ç¨åºåï¼ä¸é¢åç±»éæ±åå¸é½æä¸éäºè½¯ä»¶å¼åè¡ä¸ï¼æ´éåæ°æã
4ãç¨åºå客æ
ç¨åºåï¼äº§åç»çï¼è®¾è®¡å¸çäºèç½ç¸å ³äººåé½è½å¨ä¸é¢æ¾å°éåèªå·±ç项ç®ãæ¯æèªç±ãè¿ç¨åå ¼èå·¥ä½ï¼è¿å¯ä»¥æééä½£ï¼å·¥ä½æ¨¡å¼é常å¤ã
5.å¼åé¦
ç¹ç¹:æå¡èå´æç¡®ï¼ITå¼å项ç®åç´åº¦é«ï¼è½å¸å¼å°ä¸é¨åéæ±æç¡®ç客æ·ãå¹³å°ä¹è´åäºå©ç¨äºèç½è½¯ä»¶ææ¯ä¸ºå®¢æ·æé«æçãéä½ææ¬ãæåæè½ãä¼å管çã
6ãç¿æ¥é
å¹³å°ç¹ç¹:追æ±é«è´¨éçé主åå·¥ç¨å¸ï¼æ±èäºç¥åäºèç½å ¬å¸çææ¯ã设计ã产å大çï¼éè¿å®é åçãè¿ç¨çæ¹å¼ï¼ä¸å¯¹ä¸ä¸ºåä¸å ¬å¸è§£å³é®é¢ï¼æé«åä¸æçã
7ã人人å¼å
åºäºå¯è§åå¿«éå¼åå¹³å° - æ·å¾(Joget)/æ·å¾äº(Joget Cloud)(PaaS),éä¼å¤å¼åè èµæº,为ä¼ä¸æä¾ä¼ä¸ç®¡ç软件æå¡ã
.NET Core/.NET 开源项目汇总:WPF组件库
WPF,作为Windows Presentation Foundation,是微软提供的一个用户界面框架,属于.NET Framework 3.0的一部分,旨在提供统一的编程模型、语言和框架,实现界面设计人员与开发人员工作的分离,同时提供全新的多媒体交互用户图形界面。然而,尽管微软提供的WPF控件功能强大,但其样式可能并不尽如人意,需要专业的美工进行设计或定制。因此,开源社区中涌现了众多无私奉献的大牛分享出既美观又实用的WPF组件库,为开发者提供了丰富的选择。以下是几款优秀的开源WPF组件库,供您参考。 一、MaterialDesignInXAML MaterialDesignInXAML是一个完全开源的WPF GUI库,它与MahApps和Dragablz兼容,提供了一套现代流行的设计语言,使得开发人员能够轻松地将美观的桌面应用程序带入生活。该库提供了丰富的组件和功能,包括: 首页:布局简洁、清爽,效果直观。 支持主题风格切换:库内包含数十种颜色风格,满足大部分配色要求,同时支持自定义皮肤。 按钮:提供多种形状的交互按钮,如圆形按钮、图标按钮、按钮进度、按钮文字提示等,使Web中的常见效果在WPF中也能轻松实现。 输入验证框:实现了多种验证器,简化了表单验证的代码,同时提供了友好的界面提示。 标签:控件支持英文Chips,用于显示标签,特别适用于显示大量数据时,可通过点击进行过滤。 卡片:卡片式布局,用于显示数据,提供更生动、友好的展示方式,支持+文字的形式。 图标:提供了成百上千种矢量图标供选择,方便用于菜单图标、按钮图标等。 分组框:类似卡片的组合框,允许自定义Header,并支持添加。 进度条:提供多种样式,适用于不同需求,使得调整进度条各个部分变得简单。 对话框:遮罩式对话框,支持整个窗体遮罩或窗体部分用户控件对话框,实用性高。 抽屉:支持从东、南、西、北四个方向打开抽屉,用于提供额外的功能或内容。 提示信息:提供了一种不弹框的提示方式,用于显示不需要用户操作的即时信息。 二、MahApps.Metro Metro是一个允许开发人员为WPF应用程序设计Metro或现代UI的框架。它重写了所有常见WPF控件的默认样式,提供了现代外观,并包含了一些基于WindowsPhone、Windows8和Windows(UWP)应用程序概念的自定义控件。MahApps.Metro的源代码托管在GitHub上,易于访问和改进。 三、AduSkin AduSkin是一款简单美观的WPF UI库,融合了多个开源框架组件,为个人定制UI提供了丰富选项。它支持动态修改皮肤,提供大量产品示例,供学者参考和使用。AduSkin的官方网站和开源地址均在GitHub上,方便开发者获取和使用。从0到1,Vue大牛的前端搭建——异常监控系统(下篇来啦)
在本篇文章中,我们将深入探讨异常如何进行上报和分析。首先,异常上报的方式通常采用动态创建标签方法。这种技术无需加载任何通讯库,且页面无需刷新,类似于百度统计和Google统计的埋点机制。动态创建一个img标签,浏览器即会向服务器发送get请求,将需要上报的错误数据通过querystring字符串形式传输至服务器。
除了动态创建标签方式,我们也可以选择使用Ajax上报错误。上报数据时,核心信息是错误栈,它包含了错误发生的位置(行号、列号)和错误信息,对于定位错误至关重要。在上报前,需将对象序列化为字符串,并进一步转换为Base格式,以便于在网络通信中传输。后端则需执行反向操作,将Base字符串转换回JSON对象,进行错误的接收和处理。
在项目开发中,使用Vue3.0新语法,从源码层面分析Vue3.0的响应式vDOM架构,仅需三天时间即可实现项目开发。异常上报后,需要建立一个后端服务进行接收和处理。以流行框架eggjs为例,我们可以搭建eggis工程,编写error上传接口。通过在app/router.js中添加路由和在对应的controller中实现错误数据的接收和记录,例如使用fs写入日志文件或借助log4js等成熟的日志库进行日志记录。
进一步,可以利用Webpack插件实现sourcemap的上传,以实现混淆压缩代码的还原。创建Webpack插件并加载插件配置,通过读取sourcemap文件逻辑,将sourcemap上传至服务器。此外,可以使用source-map插件简化此过程,进一步优化代码还原效率。
对于异常分析,一个关键步骤是解析错误栈。考虑到此功能的实现涉及较多逻辑,将其开发为独立函数,并使用Jest进行单元测试。首先搭建Jest框架,创建stackparser.js文件和测试文件stackparser.spec.js。通过Jest,可以实现对错误栈的解析和代码位置转换为源码位置的功能。运行测试后,实现解析方法,最终将源码位置记入日志,以实现错误分析的可视化。
在异常监控系统中,可以考虑使用Fundebug或Sentry两种开源框架,以实现更全面的错误监控与管理。Fundebug专注于多种线上应用的实时BUG监控,而Sentry则是一个开源的实时错误追踪系统,支持多种语言和框架,提供与其他流行服务的集成方案,如GitHub、GitLab等。在项目管理中,逐步引入Sentry进行错误日志管理,可以提升问题修复效率和用户体验。
总结而言,通过本篇文章的介绍,我们构建了一个异常监控系统的MVP(最小化可行产品),包括异常上报、后端接收处理、错误日志记录以及异常分析等功能。未来,可以进一步升级错误日志分析与可视化,采用ELK等工具,实现更高效的错误管理。发布和部署阶段,可以考虑使用Docker等容器技术,提高项目的部署效率。最后,如果在开发过程中遇到任何问题,欢迎在评论区留言,我会及时回复,共同推动项目进展。