新手小白求教:简单图像的外观检测识别方法 40C

现在需要对一些LED芯片进行缺陷识别,如下图



![![![图片说明](https://img-ask.csdn.net/upload/201802/01/1517422353_811669.png)图片说明](https://img-ask.csdn.net/upload/201802/01/1517422340_806002.png)图片说明](https://img-ask.csdn.net/upload/201802/01/1517422331_426354.png)图片说明

图片说明

目标任务是识别图片里的 黑点 和线状异物 ,目前的方法是 原图-灰度化-滤波-边缘提取 该算法最后的结果如下:

图片说明

这种处理过后只是把边缘检测出来 希望把边缘内部缺陷也保留


对一些黑点识别到这样子 结果很一般,希望各位大神能在图像处理的流程上面给一些建议,比如说是否需要阈值分割 或者 边缘提取之后还可以做些什么之类的

一些处理比较好的图片(不知道具体处理流程)如果可以还原一下算法就更好了,或者最终可以达到这个效果

图片说明

图片说明

希望各位大神指教!

3个回答

你的芯片一直都是这样的颜色么,如果是的话,可以考虑从颜色和区域入手来判断
1、预处理:图像缩小->灰度化->高斯滤波->二值化
2、找轮廓:canny边缘检测->寻找边缘轮廓->筛选最大轮廓
确定轮廓范围后,你就应该知道什么坐标位置,大概是什么颜色值,超过了阈值,就表示此处颜色异常,如果异常颜色点的n邻阈内还有颜色异常的点,就持续查找下去,直到找出的连续异常点数量超过某一阈值,可以判定为缺陷

qq_38625239
大略easy 谢谢!我先试一试看看
接近 2 年之前 回复

楼主现在算法存在的问题是只能找到边缘的缺陷,找不到中间的缺陷,
那么可以提取颜色通道,
橙色部分在R通道里面灰度值偏大,
可以在R通道里进行一次阈值分割,然后再提取内部的缺陷,
最后把内部和边缘的缺陷合并即可

qq_38625239
大略easy 谢谢,我试一试看看!
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
小白求教:线程的问题
int a = 5; 用函数 pthread_exit((void*)&a) 然后用 void *p ; pthread_join(xx,&p); printf("%d\n", * (int * )p); 这样打出来的数不是5呢
小白求教:下面是我写作业时的一个代码。
学习的内容正好是方法:现在不明白方法的调用。请教一下各位大神:代码如下: public class Method{ public static int getPentagonalNumber(int n){ int s=0; for(int i=1;i<=n;i++){ s=i*(3*i-1)/2; System.out.print(s+"\t"+i);//这个实现语句有就能输出想要的答案, if(i%10==0){ System.out.println(); } } return s; //return 在这里的作用除了 因为方法头里有个int的返回值类型,和结束方法的运行之外还有什么作用呢?就这个代码而言我觉得这个return完全多余只要把返回值类型变更为void就不需要了。那返回值类型的方法的目的是什么呢?既然不能输出想要的东西? } public static void main(String[]args){ //Method a= new Method(); 创建一个对象也是可以的,调用 getPentagonalNumber(100); 不创建对象也可以直接调用。这我就迷惑了,到底要不要创建对象来调用呢? } }
小白求教:selenium IDE 是否支持多标签页
每次播放到另一个标签页的时候就报错 然后试着去用webdriver,用eclipse写的脚本代码都对的 但运行不了 ``` public class day1Test { private WebDriver driver; private String baseUrl; @Before public void setUp() throws Exception { System.setProperty("webdriver.firefox.bin","D:/firefox/firefox.exe"); driver.manage().window().maximize(); baseUrl = "http://www.fuwo.com"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @Test public void test() throws Exception { //访问http://localhost/upload/ driver.get(baseUrl); Thread.sleep(3000); } @After public void tearDown() throws Exception { driver.quit(); } } ``` 报错 ``` java.lang.NullPointerException at WebTest.day1Test.setUp(day1Test.java:19) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) java.lang.NullPointerException at WebTest.day1Test.tearDown(day1Test.java:51) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) ``` 谁能帮我看看是怎么回事啊,本人测试小白一个,刚接触selenium几天,好多不懂,希望大家说的能详细明白点。
小白求教:OpenGL如何在一个窗口同时绘制两个图形啊
我想在一个窗口同时画两个图形,希望运行后一起显示 ![图片说明](https://img-ask.csdn.net/upload/201909/14/1568474468_446005.png) ![图片说明](https://img-ask.csdn.net/upload/201909/14/1568474495_806862.png) ![图片说明](https://img-ask.csdn.net/upload/201909/14/1568474537_155630.png) ![图片说明](https://img-ask.csdn.net/upload/201909/14/1568474555_253216.png) 这是部分代码,最终结果是第二个坐标的图形,应该是值被覆盖了,请问该如何解决这个问题呢?
嵌入式小白求教:Ubuntu 12.04下RT73 USB无线网卡移植实现的若干问题
最近想要在S3C6410开发板上使用RT73 USB无线网卡实现无线连接,保证6410与外部云服务器的通信。 以下是自己遇到的一些困惑或问题,想请教大神点津。 1. Ubuntu虚拟机上设置的eth0的ip地址经常性的会丢失,导致刚ping通的链接又出现问题; 2. 6410上不知为何,每次启动时都表现为eth0关闭,需要重新ifconfig eth0 up,但是这样的话就会出现ip地址每次都需要自己重新配置; 3. 以上困惑都是时而好时而坏,在一切顺利的情况下,我在minicom里进行了以下操作: ``` #insmod rt73.ko #ifconfig rausb0 up #iwconfig #iwlist rausb0 scanning #iwconfig rausb0 essid "default" #iwconfig rausb0 key "off" #udhcpc -i rausb0 ``` 接下来的操作就应该是ping一下网关和外网了,但是我并没有能够ping通。起先以为是未将连接电脑和6410的有线连接eth0断开,但是断开后依旧没有ping通。 困扰已久,望大神帮助!
新手求教:一个简单的函数出现段错误的原因?
在牛客网上做题。不知道为什么加上 if (array[i][0]>target)break;这句代码之后会显示段错误?? bool Find(int target, vector<vector<int> > array) { for(int i=0;i<array.size();i++) { if (array[i][0]>target)break;//为什么加上这句代码之后显示段错误? for(int j=0;j<array[i].size();j++) { if (array[i][j]==target)return true; } } return false; }
新手求教:求一个android,ios,java服务器都可以解析的json
各位大哥,小弟新手。java写的后台服务器,需要和android和ios的通信。请问,哪种json库 是java和objective-c都可以解析的?新手,还没有币,诚心求教~
新手求教:关于虫子吃苹果问题
苹果和虫子 【题目描述】 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果? 【输入】 输入仅一行,包括n,x和y(均为整数)。 【输出】 输出也仅一行,剩下的苹果个数。 【输入样例】 10 4 9 【输出样例】 7 可以通过ceil函数实现苹果的“完整”问题吗?程序运行时答案错误,求教 ``` #include<iostream> #include<cmath> #include<cstdio> using namespace std; int main() {int n,x,y; cin>>n>>x>>y; if(y<=n*x) cout<<n-ceil(y/x)<<endl; else cout<<0<<endl; return 0; } ```
求教:jq获取第二个div的z-index属性
求教:jq获取第二个div的z-index属性![图片说明](https://img-ask.csdn.net/upload/201611/23/1479868130_280238.png)
求教:CT课程的成绩是采用记录数组的形式存放的,请设计这样一个数组,并写出求班级平均成绩的命令式程序
求教:CT课程的成绩是采用记录数组的形式存放的,请设计这样一个数组,并写出求班级平均成绩的命令式程序
新手求教:如何用lua解析json电报
GET http://192.168.1.122:8080/devices/019D202A/telegrams 得到的电报 ``` { "header" : { "httpStatus" : 200, "content" : "telegrams", "gateway" : "DC-GW/EO-IP v0.99.6", "timestamp" : "1970-01-01T08:07:46.898+0800" }, "telegrams" : [ { "deviceId" : "019D202A", "friendlyId" : "hhh666", "physicalDevice" : "99999", "timestamp" : "1970-01-01T08:05:14.072+0800", "direction" : "from", "functions" : [ { "key" : "supplyVoltage", "value" : 3.60, "unit" : "V" },{ "deviceId" : "019D202A", "friendlyId" : "hhh666", "physicalDevice" : "99999", "timestamp" : "1970-01-01T08:06:24.098+0800", "direction" : "from", "functions" : [ { "key" : "supplyVoltage", "value" : 3.66, "unit" : "V" }, { "key" : "illumination", "value" : 244.00, "unit" : "lx" }, { "key" : "temperature", "value" : 21.20, "unit" : "°C" }, { "key" : "motionDetected", "value" : "true", "meaning" : "PIR on" }, { "key" : "occupancyButton", "value" : "pressed", "meaning" : "Button pressed" } ], "telegramInfo" : { "data" : "B77A6A08", "status" : "0", "dbm" : -61, "rorg" : "A5" } } ] } ``` 如何用lua脚本解析一个值输出;如上面代码中有“supplyVoltage”“illumination”“temperature”“motionDetected”“occupancyButton”等值,只取一个值 解析格式类似与 ``` function parameter (value) return "/temperature/setTemp.php?temp="..value end ``` 这种格式 啊啊~~~~~!
求教:有哪个大神知道怎么使用vue的render函数写一个拖放接口,返回虚拟dom节点
求教:有哪个大神知道怎么使用vue的render函数写一个拖放接口,返回虚拟dom节点
新手求教:字母作为数组下标怎么解释
String s = "adfoweyirlkbasgxalueralsdhg"; // 待统计字符串 int max = 0; // 记录最大出现次数 int[] cnt = new int[127]; // 临时计数用的数组 for (int i = 0; i < s.length(); i++) { // 循环字符以做统计 char c = s.charAt(i); // 取出单个字母 max = (++cnt[c] > max) ? cnt[c] : max; // 计数并检测最大出现次数 } System.out.println (max); cnt[c]这里能详细解释一下吗?
求教:搜索页如何提交表单后再跳转回提交页?
求教:搜索页如何提交表单后再跳转回提交页? 各位高手,请教一个问题: 搜索页的target=_blank,method=psot,提交表单后跳转到新的页面;在新的页面后台中进行数据验证,如果提交的表单中input的值为“”空时,想让页面跳转回原先的提交页面,重新填写,如何实现?用js代码和c#。 谢谢,很急,期望尽快指教!谢谢!
新手求教:freemarker视图解析器优势在哪?
最近在研究我们公司的Springmvc代码,在视图解析器上有些看不懂。 1. 请问一个web项目除了用到jsp视图解析器外,还用到了freemarker视图解析器。 freemarker貌似是用来返回html页面,这样有什么优势吗? 2. 如果整个项目放弃视图解析器,直接访问html静态资源,仅采用ajax来实现,这样做可行吗?是不是在安全方面有弊端 3. 我现在仅仅会搭建一个简单的Spring-mvc系统,MyBatis,DAO,Service,ServiceImpl,Controller,以及写js和jQuery,我想继续提升自己在这方面的技术,比如提升整个项目的安全性,稳定性,请大神给个方向,我该往哪方面努力,感觉仅仅是逛论坛也不是很有帮助 4. 刚毕业出来,找了家小公司,带上我就两个做java的,都是新手,老板不愿意招人,接了个商城项目,让我给他写需求分析,定模块接口设计,出项目开发时间表。需求分析刚写完,但感觉很没有底气,毕竟没有设计经验。现在感觉很后悔,当初找工作是不是应该找那种大牛很多的公司。。。我下一步该怎么走,求指点。。
求教:关于对于m=4阶B-树
求教:关于对于m=4阶B-树如果根的层次为第一层,树叶层次为k,当高度为k=3的B-树最少要存储多少个关键字?最多可以存储多少个关键字?希望给个详细回答
新手小白求教VUE命令行工具安装依赖问题
![图片说明](https://img-ask.csdn.net/upload/201712/05/1512455487_532514.png)到这一步开始报错,之前的都没问题!求教如何解决
新手小白求教SWF做的跳转主页,手机不能显示
如何才能做成手机也可以显示的?另外求教网页怎么防止软件偷取复制整站。谢谢各位大神,好人一生平安!
c语言函数执行过程求教:
c语言函数执行过程求教: 小弟编写了三个子函数,a——b——c,这三个子函数同时在d函数中被调用 void D() { 函数a; 函数b; 函数c; } 由于abc这三个函数里面通过系统时间要产生随机数;但是这样编写的话,abc函数获得的系统时间相同,所以产生的随机数也相同,如何解决这个问题?? 不知道应该在百度上搜索什么名词,希望大家告诉一下,谢谢
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2
前后端分离后,维护接口文档基本上是必不可少的工作。 一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2 就是其中之一,至于其他类似功能但是却收费的软...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
天天学JAVA-JAVA基础(6)
如果觉得我写的还行,请关注我的博客并且点个赞哟。本文主要介绍JAVA 中最常使用字符串常量String相关知识。 1.String简介 2.创建字符串对象两种方式的区别 3.String常用的方法 4.String的不可变性 5.一道阿里面试题,你会做吗? 1.String简介 1.1String源码 首先看一段String源码,String主要实现了Serializable、Compar...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
2020 网络课 智慧树自动刷课代码,自动跳转,自动答题并关闭弹窗,自动1.5倍速静音
刷课一时爽,一直刷课一直爽! 终于让我找到了这个黑客代码了,教程开始: 只限谷歌浏览器和火狐浏览器使用,如果第一次失败,请重新试一下次 将下面代码复制后,进入浏览器按F12键,先点击console 然后Ctrl+v复制代码 最后按回车键即可 var ti = $("body"); var video = $(".catalogue_ul1 li[id*=video-]"); var i = 1;...
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
羞,Java 字符串拼接竟然有这么多姿势
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢? 就在昨天,一位叫小菜的读者微信我说了上面这段话。 我当时看到这条微信的第一感觉是:小菜你也太菜了吧,这都不知道为啥啊!我估...
写1行代码影响1000000000人,这是个什么项目?
不带钱不带卡,只带手机出门就能畅行无阻,这已是生活的常态。益普索发布的《2019第一季度第三方移动支付用户研究》报告显示,移动支付在手机网民中的渗透率高达95.1%,截至今年1月,支付宝全球用户数已经突破10亿。你或许每天都会打开支付宝,付款购物、领取权益、享受服务……但你或许不知道的是,在这个方便、快捷、智能化的APP背后,有一群年轻的技术人,用智慧和创新让它每天都变得更“聪明”一点。 ...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
一点一滴记录 Java 8 stream 的使用
日常用到,一点一滴记录,不断丰富,知识积累,塑造自身价值。欢迎收藏 String 转 List String str = 1,2,3,4; List&lt;Long&gt; lists = Arrays.stream(str.split(",")).map(s -&gt; Long.parseLong(s.trim())).collect(Collectors.toList()); Lis...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问