我是一名Java程序员,所以主要是关于java程序开发这块。...1、先定角色:明确指定AI的身份,比如“你是一位有8年经验的Java Spring Boot资深后端工程师,熟悉MyBatis-Plus最佳实践”,避免生成新手级别的冗余代码。...2、说清具体任务:别只说“帮我写个接口”,要明确是“帮我写一个项目成员的新增接口,支持角色权限校验”,把目标落到具体功能点上。...帮我写一个用户修改密码的接口,要求:1、接收旧密码、新密码两个参数,旧密码要和数据库中已存哈希值比对通过2、新密码必须满足8位以上,同时包含字母和数字的校验规则3、操作完成后返回统一JSON格式,包含success...场景4:代码重构优化1、你是资深Java性能优化工程师,下面这段查询订单的代码执行速度很慢,存在N+1查询问题:[粘贴你的旧代码]2、请帮我重构优化,保留原有业务逻辑,用Stream流替换冗余循环,把查询耗时降低
直到我摸透了WorkBuddy的这套自动化处理流程,如今我仅需10分钟,就能交出一份结构清晰、重点突出、自带数据支撑的合格周报,省下来的时间完全可以用来梳理下周的工作规划,准点下班再也不是遥不可及的奢望...一、先搞懂核心逻辑:别让AI凭空“编”周报很多人用AI写周报都会踩同一个坑:上来就直接输入“帮我写一份周报”,最后生成的内容全是空泛的套话,和你真实的工作内容完全脱节,根本不敢直接发给领导。...比如你可以直接写:周一对接了产品部的新需求,确认了V2.3版本的迭代边界周二跑了3组用户留存数据,发现7日留存比上周提升了8.2%周三开了2小时项目会,整理了12条待跟进的风险点周四排查了线上接口报错的问题...三、最后分享2个我亲测有效的提效小技巧如果你觉得生成的内容还是有点“AI感”,只需要在生成完成后追加一句追问:“把这份周报改得更像真人写的,语气自然克制,细节更落地”,出来的版本就会完全贴合你平时的职场表达习惯...自从用了这套方法,我再也没有为写周报焦虑过,以前要熬到下班才能做完的事,现在午休的间隙就能轻松搞定。
昨天犯了一个错,其实是前几天写的代码犯的错,今天发现的。...这是原来的代码: update food set food_id=#{foodId, jdbcType=BIGINT} 这段代码就是滥用if判断的典型了...如果foodId为空,那么food表info这一列的所有数据都会变成同一个值。这是代码逻辑上的错,这对数据库数据造成的破坏是毁灭性的。 有的时候,SQL不能执行其实是需要的,它是对数据的保护。...所以去掉foodId的null判断: update food set <if test="info !
前端写代码流程 1.确认本项目使用的技术栈:看store的index.js文件 页面的编写此处省略… 2.对接口注意事项: 首先需要与后端确认当前模块页面使用的是哪个接口; 看页面功能,选择接口...3.写接口js文件应该注意: 一般需要改动的文件为serve.js,action.js,api.js action.js就是为接口 写js文件是,是自己定义一个方法,里面再调用接口!!!...(一定要清楚自己此刻写的是什么,不要乱摘抄过来,要明白她返回的它调用的是哪些参数,此刻基础真的特别重要!)...4.总结:在工作中写代码这一块不要说自己不行,工作并不是拿着自己已经学会的知识去炒旧饭,而是会不断的接收新的知识,所以此刻就不要害怕自己不会使用这项技术,一定不能害怕未来要使用新技术!!!...自我信心是非常重要的,任何时候!加油前端人!
最近用 Node.js 写了爬某小说的爬虫,发现坑还是满多的。 网页中文乱码 小说网站的页面内容编码用的 GBK,如果不做处理,中文内容会是乱码。...用 iconv 进行 decode 传入的参数必须是 Buffer类型的。...}, (error, response, body) => { body = iconv.decode(body, 'GBK') }) 提取小说正文 发现小说的章节的 HTML 内容乱的超乎我的想象...浏览器竟然也能正常的输出。。。 正文外面也没有一个标签来包裹。正文的兄弟节点也没什么标志性的元素。 鉴于第 2 点,我用删除非正文内容来提取正文。...开始的做法是,对那小说网站同时发一千多个请求。每个请求请求 1 个章节的内容。尝试多次,发现每次都是只有不到 200 个请求是成功的,剩余的全部超时。
很多人第一次用的时候都会觉得"哇好厉害",第二次就开始骂"这写的什么玩意"。...比如要新写一个 Service,就把已有的 DepartmentService.java 丢给它,跟它说"照着这个风格来"。这比你用文字描述半天架构有用得多。...我们实际在用的 Skills 说几个我们团队 Android 端实际在用的 Skill,你感受一下这个东西的威力: 1. JNI 接口生成 我们项目有大量 C++ 和 Java 的 JNI 调用。...AI 加载这个 Skill 后,你只需要给它 C++ 的接口签名,它就能自动生成对应的 Java Service 接口 + native 方法 + JNI 实现。...写"的时间大幅压缩,但"想清楚"和"验证"的时间没变甚至增加了。
今天2021-09-03 15:54:31 星期五 最近两天在写一个数据抓取的工具,主要是因为要经常统计数据是在是太麻烦了,可能是因为我懒吧哈哈哈 数据抓取当然是需要先获取接口地址了,这个直接用浏览器的控制台就可以了...具体操作如下: 拿到接口访问看到是json形式的,这种比较容易调用,那么我们可以用服务器读取,后先转化为php可以操作的数组。...再看下url的的参数发现是get请求的分页,所以我们也可以自定义请求参数来获取不同的数据 但是,发现需要ciookie才能正常读取数据,所以我们需要创建一个curl的对话模拟真实用户访问,也抓取...curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST...区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $result = curl_exec($curl); //
Java集合类的使用心得 一、Set(不重复) 二、List(随机访问) 三、Map(对应关系) 四、数组 五、类型转化 一、Set(不重复) 常用结构:SortedSet是个接口,TreeSet是它的唯一实现类...set.remove(); Object[] obj = set.toArray(); String[] strings = set.toArray(new String[set.size()]); 使用心得..., "值"); // 替换指定位置 linkedList.indexOf("值"); // lastIndexOf()同理 linkedList.subList(start, end); List使用心得...ArrayList使用心得: 序号从0开始; 通过索引存储,存储的值可以相同; 如需替换某个值,应结合remove和add两个方法; List内可以存对象,此外的操作可以同样用数组实现。...LinkedList使用心得: 可以通过First和Last来实现堆、栈的数据结构。
近期我刚刚完成了一个信息采集的Java项目,其中采集环节是以多线程的方式来运行的。开发时在多线程的控制方面遇到了不少的麻烦,主要是线程同步问题和线程的状态管理,我就这两方面简单谈谈自己的心得。...在Java中,经常会出现多个线程同时对同一资源进行操作,比如同时改变同一个变量,例如线程A刚刚将变量值改为1,紧接着线程B又将变量值改为2,这时线程A继续下面的程序时如果需要用的这个变量,就会出现错误。...因此我们需要让一个线程操作资源时其他线程进行等待,这就需要用到锁的概念,Java中提供了synchronized这个方法让线程对资源操作时进行同步。...synchronized具体的用法可以上网搜索一下,相关的技术文章很多很多。这里就不详细举例了。...线程池的实现方法简要来说就是每创建一个新的线程,就将线程池中的活动线程数量+1,当线程结束时,通过线程回调,将线程池中的活动线程数量再-1。
1、方法的覆写 当子类定义了与父类中完全一样的方法时(参数名称、参数类型及个数、返回值类型),这样的操作就为方法的覆写。...1)方法覆写的意义: 1、父类中定义的方法名称是其他程序认可的,但是子类使用时发现,原有方法不能满足现在的操作要求,但要保留原方法名称,因此出现了覆写的概念; 2、this方法与super方法的区别:...: 被覆写的方法不能有比父类更严格的访问控制全权限。...但是有一点需要注意,在父类中若是用private声明的方法,该方法不能被子类所覆写,且这样的操作没有什么实际意义。实际开发中,对于方法的定义,基本都使用public声明。...No.区别方法重载方法覆写1单次OverloadingOverride2范围发生在一个类中发生在继承关系中3定义方法名称相同,参数类型及个数不同方法名称、参数类型、个数及返回值全部相同4权限没有权限要求被覆写的方法不能有比父类更为严格的访问控制权限
手机怎么写java通常我们写java程序都是在电脑上,很少在手机上写程序,因为手机屏幕小,写起来不方便,而且ide也没有电脑的好用。...但手机相对来说比较便捷,随时随地就可以写代码,练练手,下面就介绍一下如何在手机上写java程序吧。...手机怎么写java 通常我们写java程序都是在电脑上,很少在手机上写程序,因为手机屏幕小,写起来不方便,而且ide也没有电脑的好用。...但手机相对来说比较便捷,随时随地就可以写代码,练练手,下面就介绍一下如何在手机上写java程序吧。...2)我们点击 InOut.java ,编写具体代码,这里就以最简单的栗子来讲,即输出 Hello Java。 运行程序 (点击三角形图标即可)
加点的一般方法: Catalog _catalog=MapInfo.Engine.Session.Current.Catalog; MapInfo.Geometry.Point pt =...MapInfo.Data.SearchInfoFactory.SearchWhere("ID="+strID+" and f_name='"+PointName+"'")); return ft3.Key.Value; 但是每次添加的都是五角星...MapInfo中有一个默认的符号库(自己看英文帮助,查词霸,猜得意思)VectorPointStyleRepository,其中有36个元素,每个元素的值是一个SimpleVectorPointStyle...这样,就不用生成新的样式,直接调用它就行了,把vs的赋值直接换成这个: MapInfo.Styles.SimpleVectorPointStyle vs = (MapInfo.Styles.SimpleVectorPointStyle...)MapInfo.Engine.Session.Current.StyleRepository.VectorPointStyleRepository[2]; //索引的范围0-35 我做了一个试验,把所有的符号都取了出来
程序员自测是很重要的一个环节,我认同测试驱动开发的理念,经过一段时间的测试代码的编写,发现测试代码需要保证几点,1.测试代码可重复跑,不能跑过一次,改了数据库数据就不能跑了。...对于十分麻烦的工作,我一般的是不想继续做的,我的想法是无论代码,数据库怎么动,测试代码都是不用怎么改动的,直接跑就可以了,这样也方便项目重构。目前已经达到我对测试的预期了,故而总结现有技术和实现。。...如果有更好的建议,也欢迎提出。 mock做service层的单元测试 service测试使用mockito,它可以保证service的获得的业务数据是预期的数据,得到的结果一定是预期的结果。...,比如一个取件人的数据,就写一个User getPickupUser()的方法,调用方法参数是mock数据,返回的结果也是用改数据去assert。...对于controller层的测试的方式,我一般是启动项目,使用postman发送http请求或自己写httpclient发送http请求做测试。这个类似工具,技术很多,我就不介绍了。
1.新建DynamicWeb项目 其中要用到的 gson此处用于将持久化对象解析为Json,或将Json序列化为对象。...==目录如下== 主要是使用到下边红框中的类 1.1 基础数据对象 package cn.hy.newsTest; import java.util.Date; public class News...; this.content = content; this.date = date; this.url = url; } } 1.2 对返回的接口数据封装类...; import java.sql.*; import java.util.List; public class JsonServlet2 extends HttpServlet { private...NewsTotal nt = new NewsTotal(newsList.size(), newsList); // 调用GSON jar工具包封装好的toJson
java之写文件 上一篇写了java读取文件的各种操作姿势,这里也补一个写文件的工具类,比较简单 1....读写类介绍 (和上一篇差不多) java读写文件的IO流分两大类,字节流和字符流,基类分别是字符:Reader和Writer;字节:InputStream和OutPutStream 字符流分为FileReader...生成目录 写文件之前, 文件可以不存在,但文件所在的目录必须有,所以就有个生成目录的方法了 提供了一个工具类 DirUtil, 可以递归生成path路径对应的所有目录(前提是有权限) /**...写文件 提供了两种写文件的方式,字节流输出和字符流输出,其中字符流输出时,制定了编码格式为UTF-8, 这个工具的实现方式与读的工具类不太相同,先看下代码结构 /** * 写文件工具类 * ...dir=1&filepath=silver-file 读文件链接:java之的读取文件大全 反射生成对象博文: java之通过反射生成并初始化对象
一、简介 本文讲述如何用java来写csv文件。 CSV的意思是逗号分隔符(Comma-Separated-Values),是不同系统之间传输数据的一种常见方式。...要想写csv文件需要用到java.io 包。本文将讲述如何处理特殊字符。我们的目标是写出Microsoft Excel和google sheets可以读取的csv文件。...给出java例子后,我们还将给出一些好用的第三方库。 二、利用PrintWriter 2.1....写 CSV 我们写一个方法,讲传入的字符串数组转成逗号分隔符的字符串: public String convertToCSV(String[] data) { return Stream.of(...第三方库 从上面的例子可以看出,写CSV文件最头痛的就是处理特殊字符。下面有几个非常不错的第三方库: Apache Commons CSV: Apache的CSV 文件的类库。
Java 覆写 继承性的主要特征是子类可以根据父类已有的功能进行功能扩展,但是在子类定义属性或方法的时候有可能定义属性和方法和父类同名,在此类情况下就称为:“覆写”。...,此时会调用实例化子类中被覆写的方法;{注意:覆写的方法,要和父类的一模一样才可以称为覆写操作} 一个类可能会产生(被继承)多个子类,那么每个子类都会有一个自己的代码方法,子类被实例化后只会执行自己被覆写的方法...【没有被覆写的方法,则调用父类的方法】 但是被覆写的方法不能拥有比父类更严格的访问控制权限 访问控制权限: Public > default > private(最严格的) ...面试题:解释重载与覆写的区别?...,覆写的应用主要以 方法覆写 为主; ·如果子类需要使用父类指定的方法,但是发现父类的方法不能满足功能需求,就可以利用覆写方法,来完善父类方法的功能的同时保留父类的方法不被改变。
Java 架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。...他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。 在成为Java架构师之前,应当先成为Java工程师。...jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的...,值得注意的是”直接内存”的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题 成为Java架构师,需要掌握哪些技能呢...分布式 Java并发编程和网络编程:Java线程状态,线程池,线程通信,线程安全,Netty高性能原理 分布式开发框架:分布式系统口调用技术:RPC,Apache分布式系统Zookeeper原理与应用,
昨天TJ君的一个好朋友来找TJ君帮忙,说是想从网上爬取一些公开的数据,其实就是朋友原来需要每天自己从网页上记录一些比赛的数据,用作后续分析,想偷个懒,靠程序去实现。...既然朋友有诉求,TJ君当然要想办法解决,于是想起了曾经一个看到过的开源基于JAVA编写的网页解析框架,jsoup,今天也来和大家一起分享学写下。...jsoup,是一款可以通过程序自动获取网页数据的开源项目,项目提供一个非常方便的API接口,通过使用HTML5 DOM方法和CSS选择器来获取URL中的数据,并进行提取操作。...,以防止XSS攻击 输出整洁的HTML 对于那种杂乱无章、没有固定规范的网页,jsoup基本都可以轻松的创建一个合理的解析树。...当然这是最简单的示例,实际运用中可能会碰到更加复杂的情况以及一些导出数据的问题,如果感兴趣的小伙伴多的话,TJ君后续结合朋友的诉求再专门讲解一篇爬虫实战。
在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术读取...Excel数据到MySQL 你也可以在 : java的poi技术读取和导入Excel 了解到写入Excel的方法信息 使用JXL技术 : java的jxl技术导入Excel 本文主要讲的是java中...poi读和写excel(版本是2003-2007,2010) 项目结构: ?...所用到的excel ?...; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.InputStream