最近在带大家做新项目,欢迎参与 大家好,我是鱼皮。分享 星球 里一位鱼友的提问: 问题 鱼皮你好,主要想问你一些学习方式。我想从事后端方向,但是现在后端懂前端已经是很常见的了吧。...所以我的建议是:如果你以后端为主,在你没有达到后端的入职标准、后端知识没玩明白前,不要抽大量的时间去学前端(时间紧的话不学前端也完全没问题)。...(所以想学好编程,很重要的一点就是 做好时间规划。) 毕竟技多不压身嘛。 从我自己的经历来看,会前端的好处是可以和前端配合 & 沟通更顺畅。可以站在更高层、全局地角度去设计项目整体的前后端实现方案。...此外,还记得之前我在星球直播带开发 伙伴匹配系统项目 时,给每个请求单独写一个接收参数的对象。如果不了解前端或者没和前端对接的同学会觉得这样做很麻烦。但其实这样做之后,自动生成的接口文档会更干净。...当然,没有绝对的标准说一定要学到什么程度,感兴趣就多学点呗。但还是那句话,别搞错了自己发展的重点。 3 至于怎么学习前端,其实在我的前端学习路线里写的都很清楚了。
亲爱的读者朋友,今天我将探讨一个在软件开发中经常引发讨论的话题:接口需求文档是由前端团队编写还是由后端团队编写?这个问题看似简单,实际上涉及到项目管理、协作流程和沟通效率等多个方面。...接口需求文档的重要性 首先,让我们明确接口需求文档的重要性。接口需求文档是描述软件系统中不同组件之间如何交互的关键文档。它包括了接口的定义、参数、返回值、调用方式、错误处理等信息。...他们可以更好地定义接口的响应时间和资源消耗。 如何选择谁来编写接口需求文档? 在实际项目中,选择由前端还是后端编写接口需求文档通常取决于项目的具体情况和团队的组织结构。以下是一些建议: 1....协作与沟通 无论是前端还是后端编写接口需求文档,协作和沟通都至关重要。团队应该定期召开会议,明确接口的需求和设计,确保双方理解一致。 2....无论是由前端还是后端编写,关键在于团队的协作和沟通。通过充分理解用户需求、技术实现和性能优化,团队可以共同创造出高质量的接口需求文档,从而为项目的顺利开发和交付提供支持。
它起到代理作用(proxy),充当异步操作与回调函数之间的中介,使得异步操作具备同步操作的接口。Promise 可以让异步操作写起来,就像在写同步操作的流程,而不必一层层地嵌套回调函数。...Promise解决了callback回调地狱的问题,async、await 是异步的终极解决方案。...2)Promise Promise就是为了解决callback的问题而产生的。...) let result1 = it.next() let result2 = it.next() let result3 = it.next() 4)Async/await async、await 是异步的终极解决方案...优点: 代码清晰,不用像 Promise 写一大堆 then 链,处理了回调地狱的问题 缺点: await 将异步代码改造成同步代码,如果多个异步操作没有依赖性而使用 await 会导致性能上的降低。
源码展示 代码是我去年写的,放到了 Github # -*- coding: utf-8 -*- from selenium import webdriver import time import os.path...webshot(tup) 函数 这个函数就是这个工具最主要的函数,所做的事情是先读取文件,然后使用 selenium 去启动无头浏览器 PhantomJS 来进行整个网页的截图。...因为我的电脑是4核的,所以自动开启了4个进程来操作,我设置了41个煎蛋网的妹子图的链接用来测试截图的效果,最终花了463秒,这个多进程的效果还是非常明显的(速度是单进程的4倍)。...32767px,看看在 PS 里面的效果: 图片 图片 一开始我以为这个只是这个网页的加载问题,可能是后面的一段没有加载出来,所以截图的时候没有截到后面的一段。...后记:这个工具的代码和测试都是我去年写的,当时由于查找关于如何把网页滑到底部的方式查了好久,后来还是自己按照自己的理解写出来了一个很 Python 式的,所以就记录了下来。
效果图:实现上传头像,右边是预览,有三个大小,可以对头像进行裁剪 HTML: toParentData 和 img 返回的是图片裁剪后的base64编码。...这里给出JAVA在后台解析base64并存储为文件的代码。...if("data:image/jpeg;".equalsIgnoreCase(dataPrix)){//data:image/jpeg;base64,base64编码的jpeg...问题,此处使用spring框架提供的工具包 byte[] bs = Base64Utils.decodeFromString(data);...try{ //使用apache提供的工具类操作流 FileUtils.writeByteArrayToFile(new File
什么是注解?...它是JDK1.5及以后版本引入的一个特性,与类、 接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。...开发工具默认的是系统用户名。...@Override:用来修饰方法声明,告诉编译器该方法是重写父类中的方法,如果父类不存在该方法,则编译失败。...需要注意的是:注解的属性可以有默认值,当使用注解时不赋值就使用默认值,赋值就按照赋的值 定义注解 public @interface MoBai { // 名字 String name(
做什么事情只要流程对了,出现错误的频率就会少。要想把事情做好,基本的流程不掌握也是不行,只有在原有的流程基础上加上自己的理解,对流程的某个节点加以重视,然后再进行“改良”,相信好的东西自然会出现。...面向终端用户的 GUI 测试,最核心的测试点就是验证软件对需求的满足程度,这就要求测试工程师对被测软件的需求有深入的理解。...在我看来,深入理解被测软件需求的最好方法是,测试工程师在需求分析和设计阶段就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好时机。...这个阶段的测试用例设计主要目的是验证各个业务需求是否被满足,主要采用基于黑盒的测试设计方法。...二、对于识别出的每个测试需求点,需要综合运用等价类划分、边界值分析和错误推测方法来全面地设计测试用例。这里需要注意的是,要综合运用这三种方法,并针对每个测试需求点的具体情况,进行灵活选择。
可见的未来,公众号、知乎等各种媒体上将会充斥着AI写的文章。那么如何识别文章是ChatGPT(或者其它AI)写的还是仁写的?以下是我的一些体验。 1....错误 ---- AI写的文章不会出现明显的文字错误,人则难免犯错,尤其文章很长的情况下。为了证明这篇文章不是AI写的,我在本文第一段放了一个错字。当然,也不排除AI未来经过学习故意犯错。 2....情绪 ---- AI写的文章偏条理、无情,而人写的文章可能会带有作者的情绪特质,人会更多的使用抽象语言。AI可能学会带有情感,但它难以维持某人一贯的情感风格。 3....市面上很多人工写的文章其实也带有这种特质,比如《数据分析如何落地》《如何快速搭建指标体系》《销售管理这样做》,在AI的加持下,未来此类文章将会更多。 4....(目前的)AI不生产新的知识。 以上是我区分人工文章和AI文章的一点体悟,当然,只要文章对你有用,改变了你的行为,是不是人写的也不是那么重要。
坦白来讲易语言现在能慢慢流行起来还是有一定历史原因的,易语言设计之初带着美好愿景,让中国人拥有自己的编程语言,突破英语限制,让一些起点低的人也能使用中文编程,在诞生之初还是赢的了很多人的赞誉,但很多标准的程序员觉得只是在现有编程语言的基础上加了一层皮而已...,没有多大的创意在里面,无论怎么样起码不懂得英文的可以借助这个平台在里面实现编程的功能了。...这件事说起来,还存在一定的时代背景,游戏外挂在2008年之前国内还没正式的立法,属于法律的空白期,在这之前游戏的外挂或者辅助之类的软件开发人员基本上都或多或少的挣了不少钱,但真正立法之后从事这块的人员已经减少了很多...,有些简单重复的动作可以直接使用按键精灵等模拟按键的操作。...任何一种语言的发展过程都不会一帆风顺,虽然易语言已经有些年头了,现在的名声也不全是正能量,随着时间推移,以及技术的不断更新,一定会有一个非常大的前景,毕竟是唯一一款可以用汉语编程的语言,还是具有很大的影响意义
疑惑一 做程序员是一件很丢人的事情嘛?...小编作为一个码农还得说句公道话,程序员职业忙是常态,但是为什么还是有这么多的小伙伴前赴后继的去做这个事情。...更多是发自内心对这个行业的热爱,记得看见一个研究院50多岁的老爷子,对编程以及代码的痴迷程度,才觉得自己对软件的那份热爱,相比他简直是大屋见小屋。...疑惑二 为啥小白写代码都觉得心虚?...最近小编带着几个刚毕业没多久的小伙伴,简单的编程思路讲的很清楚的情况下,让尝试下写几行代码,看看能不能给项目提供点贡献,说到思路的时候大家还能点头表示理解,但是一旦让写代码就觉得各种不自信就出来了,其实这些都是能够理解
前言 在开发Web应用程序时,CRUD(Create、Read、Update、Delete)是最基本的操作。为了简化开发过程并提高效率,我们可以使用一些成熟的框架和工具来实现CRUD操作。...概述 MyBatis-Plus是一个基于MyBatis的增强工具,提供了许多便捷的功能和方法,使得CRUD操作更加简单和高效。它能够自动生成基本的SQL语句,减少了手动编写SQL的工作量。...userVolDesc") private String userVolDesc; @TableField("userAge") private int userAge; } 这里使用的是...RequestBody UserEntity userEntity) { return UserService.register(userEntity); } } 基本上都不用写sql...在本文中,我们介绍了整合的步骤,包括依赖的引入、数据库连接的配置、实体类和Mapper接口的创建以及Mapper XML文件的编写。
目前很多网站都有自动过滤XSS代码的功能,此文即介绍了一些如何屏蔽XSS过滤器的手段,其实我们可以发现,大多数在前端执行的XSS过滤都是不安全的,这对于我们在防范XSS攻击时有一定的借鉴意义。...这听起来似 乎有些微不足道,但是基于这点发现足以总结出一些非常有用的编程技巧。下面写到的每一个小技巧都可以屏蔽掉XSS过滤器,这也是我写这些代码的初衷。...因自身岗位视野的限制,在对web安全的思考上,难免会有一定的局限性,故题目加上了“前端视野下”这样的修饰词,希望我的思考能给大家带来收获。...想象一下:我们在字符串中有段未过滤的攻击代码,可能是JavaScript事件或者是script标签,即这个字符串中出现了一个注入。...同样地,删除操作是在一个函数(注* [a=alert])调用之后,因为删除操作需要在知道函数执行结果的情况下,才能删除返回的对象,即使返回的是NULL。
夏日的美好 本文是来自一位前端人员的吐槽,笔者自己在做接口测试的时候,也会发现各类不太合理的接口定义,看看前端人员怎么说。...相信很多开发经理,尤其是Java开发主管都会遇到这样的人,有的工程师被招进来,没干两个月就跑了,你问他,他就说只写写接口,没啥挑战,没有前途,于是就离职了,但是当你去看看他写的代码,发现真的“很烂”,一个连接口都写不好的人...如果这样,那么上图中的骚操作可以满足大部分场景,或者前端把数据库表传给后端,后端直接把表中数据查出返回就可以了,这种“数据中转工程师”的确没啥前途。 什么是好的接口?...凌乱是指很多没用的字段,结构混乱等,理论上无论结构有多混乱,字段里有多少干扰,前端都可以取得到数据,无非多做一些澄清和确认,多做一些格式转换,但清晰的结构,仅返回有用的字段,会使后期理解和维护过程变得更加容易...问题三:路由风格要统一 接口风格不统一,有些是Rest风格的,有些不是Rest风格的 问题四:所有接口全部合成一个 上图是某项目的销售简报,从电商迁移过来的,一个页面中有多个图表,但全部用一个接口查询返回
作者:一半水一半冰 原文:http://www.cnblogs.com/jingh/p/6377736.html 1写在前面 最近总结下之前的工作,才恍然发现时间的流逝永远是悄无声息的,离开学校那座象牙塔已经也有大半年的时间了...2项目背景 这次的项目主要是做一次全国酒店人气排名的营销活动,主要是基于在微信中传播。 预计访问量达到亿级,并发做到2000+/s,且有不少的容错预案,我这次主要负责前端首页方面的展示效果。...2 jquery 第二个想到的是采用类似jquery实现的图片轮播机制,可以基本完成,但是发现无论是jquery还是zepto文字在滚动的时候会抖动,可用性比较差。...4实现过程 下面先看html结构: 与图片的无缝滚动一样,也需要将第一条数据拷贝一份放在最后面 其次是css的相关数据: 由于IOS的一些渲染机制,最好滚动的元素内部都需要启动硬件加速,否则会有卡顿和文字显示不全的问题...最后是js: 这里还是写的jquery,相信大家都能看的懂,就是让滚动元素的宽度等于他的内部元素的总宽度减去第一个(或者最后一个)元素的宽度,这样能保证无缝的效果。
这一个月下来,也算是有一些写 XML 的心得吧——不对,写 Java 代码,看 Kotlin 代码的心得。总的来说,Android 与前端的差异并不是非常大,在某些东西上,他们还是蛮相似的。...怪不得像我这样的程序员,会将 Android 开发也归类到大前端上去。 如果你是一个前端程序员,想学习移动开发;又或者是一个移动开发,想接触前端开发;那么,本文可能就很适合你去了解两者间的差异。...Web 前端是开放的世界,在今天来看,要实现的效果基本上已经被实现过了,所以我们可以直接参考 富文本支持好 而考虑到 Android 和 iOS 是各自实现的,那么一个混合应用的开发效率可能是远远大于...MyClass.Type if let type = classType { let my = type.init() } 哦,不对他们写的是 Swift。...只是前端有前端框架,在这一点也完全问题也不多。 布局调试 还好,已经有写 React Native 布局的一些经验,在写起 Android 的布局,倒也还好——没有那么坑。
1 写数据的核心问题 快递场景(包裹) Netty写数据(数据) 揽收到仓库 write:写到一个buffer 从仓库发货 flush:把buffer里的数据发送出去 揽收到仓库并立马发货( 加急件)...writeAndFlush: 写到buffer, 立马发送 揽收与发货之间有个缓冲的仓库 Write和Flush之间有个ChannelOutboundBuffer 1.1 写炸了 对方仓库爆仓时,送不了的时候...Netty批量写数据时,如果尝试写的都写进去了,接下来会尝试写更多(调整maxBytesPerGatheringWrite) ?...1.3 我还能写 发送快递时,发到某个地方的快递特别多,我们会连续发,但是快递车毕竟有限,也会考虑下其他地方 Netty只要有数据要写,且能写的出去,则一直尝试,直到写不出去或满16次(writeSpinCount...Netty待写数据太多,超过一定的水位线(writeBufferWaterMark.high()) ,会将可写的标志位改成 false,让应用端自己做决定要不要发送数据(写)了(很真实,将责任推给用户)
今天和大家简单聊聊我是怎么写题解的。经过了长时间的实践和交流,我总结了以下几点,和大家分享。 这其中一些方法也适用于做题和面试笔试的时候回答问题。当然我写的题解问题有很多,总结一下也是对自己的反思。...当然我限于我的水平也有限,这一期的观点同样很主观,欢迎交流。 首先聊聊写题解的意义。 写题解的意义 自我总结 有一些题目的解法不是我想到的,或者有一些题目自己随便写的代码居然就通过了系统测评。...这中间的道理如果自己不想明白,是很难和大家说清楚的。所以 写题解就会逼着自己去弄懂这些思路上不连贯的部分,搞懂一些代码上的细节。...回答别人的问题,也可以加深自己对知识点的理解。 我一般按照以下几个模块来写,这一点是学习「官方题解」的格式来写的。 1. 思路分析 其实这部分就是写「怎么想到的」。...我肯定都会写这道的解法 是怎么想到的,也就是 体现思考的过程。不同类型的问题思路不一样。
前言 Markdown 是一种轻量的标记语言,我们只需要写 md 格式文件,不必考虑文档的排版,被广泛用于博客写作,技术文档编写等,程序员们都热爱,但我们工作中除了写文档,有时候还需要汇报工作,技术分享等...,其他类似的工具还有 Nodeppt、 marp 等,那么这类工具是如何实现的?...其中 gatsbyjs 和 gitbook 使用的是 remark 来解析,而 Slidev 和 VuePress 就是使用 markdown-it 解析。...主要借助于prismjs 这个插件,可以参考之前写的这篇文章《使用 Prism.js 对代码进行语法高亮》。...以上就是本文全部内容,希望这篇文章对大家有所帮助,也可以参考我往期的文章或者在评论区交流你的想法和心得,欢迎一起探索前端。
本文是来自一位前端人员的吐槽,笔者自己在做接口测试的时候,也会发现各类不太合理的接口定义,看看前端人员怎么说。...相信很多开发经理,尤其是Java开发主管都会遇到这样的人,有的工程师被招进来,没干两个月就跑了,你问他,他就说只写写接口,没啥挑战,没有前途,于是就离职了,但是当你去看看他写的代码,发现真的“很烂”,一个连接口都写不好的人...如果这样,那么上图中的骚操作可以满足大部分场景,或者前端把数据库表传给后端,后端直接把表中数据查出返回就可以了,这种“数据中转工程师”的确没啥前途。 什么是好的接口?...凌乱是指很多没用的字段,结构混乱等,理论上无论结构有多混乱,字段里有多少干扰,前端都可以取得到数据,无非多做一些澄清和确认,多做一些格式转换,但清晰的结构,仅返回有用的字段,会使后期理解和维护过程变得更加容易...往期推荐: 测试团队的一次复盘实践 接口测试断言 你写的接口脚本合理么 事务一致性测试 研发效能度量指标的陷阱思考
Hello大家好,我是Vicky,今天我们来讲一些关于“模型“的事儿。 模型是对事物的抽象,是发现规律模拟真实世界用的。 在数据里呢,基本上模型有两类,解释性和预测性,今天来着重来说预测性的。...咱们就说算命的,比如问一个算命大师 明年会不会生七胞胎,大家都心知肚明,这个特定时间怀孕这个事儿本来就没那么高,况且七胞胎就更不多了,姑且就认为七胞胎在人群中的概率是0.1%,于是乎呢,不管是谁问大师这个问题...如果你是男的,系统也判你是男的,就是真正TP(True Positive), 原本你是男的系统判定你是女的,就是假负FN(False Negative), 原本女的判成男的,就是假正FP(False Positive...), 原本女的,系统判你是女的,就是真负TN(True Negative)。...大部分情况下呢,我们是根据预测结果对这些样本排序,越靠前的就是越有可能是正例的样本,按照这个顺序预测,所以每次就可以得到当前的查准率和查全率,然后呢以查准率为纵轴,查全率为横轴画图,就能得到一个曲线,也就是
领取专属 10元无门槛券
手把手带您无忧上云