confirm里使用submit,alert提示框自动消失的问题 2C

如题,想要在点击确认后,提示框再消失,请教各位大神,该怎么操作?
图片说明

6个回答

可以自己做个弹层 不要用自带的

PostersXu
t1heluosh1 有没有其他比较简单的方式呀?我刚刚去看了弹出层的制作,感觉好复杂
大约 3 年之前 回复

都提交刷新当前页面了,后续代码不会继续执行。你要继续执行后续代码用ajax来提交表单或者将alert放到submit前执行

PostersXu
t1heluosh1 放在之前也是不行的 谢谢啦
接近 3 年之前 回复

原理和文章中的类似,不知能否满足你的需求。http://www.jb51.net/article/65895.htm

PostersXu
t1heluosh1 谢谢!
接近 3 年之前 回复

自动关闭的DIV层
友情提示:本层5秒后会消失!
PostersXu
t1heluosh1 加div是可行的 我想问一下有没有其他的方式 不过谢谢啦!
接近 3 年之前 回复

这里用JS设定时间去控制指定ID的DIV层是否显示,可以实现一个自动关闭的提示框,时间一到,马上关闭,这样会使你的网页更人性一点,代码其实比你想像的还要简单,就一行代码。

PostersXu
t1heluosh1 恩 好的 谢谢啦!
接近 3 年之前 回复

第一次提问 感谢各位大神的解答,更改提交方式或者添加div都是可以的 不过我今天终于找到另一个方法啦 不知道这个写法可不可以?(功能是可以实现的)
$.confirm({
content:"你确认要删除这条信息吗?",
confirm:function(){
window.alert("删除成功",null,function(){
$("#jobId").val(jobId);
$("#validity").val("9");
$("#deleteForm").attr("action","/member/jobsmgr/deletejobs");
$("#inputdeleteone").attr("disabled",true);
$("#deleteForm").submit();
});
},
cancel:function(){
alert('取消删除成功!')
}
});

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
RIDE的Selenium2Library里没有Confirm Action
已经在RIDE的SUITE里导入Selenium2Library,但是没有找到Confirm Action及相关命令。 有人遇到这种情况吗?该如何解决,谢谢 想对运行中的弹窗进行确认、取消处理
刷网上学习时网页弹窗怎么关闭,
//使用事件监听方式捕捉事件 video.addEventListener("timeupdate",function(){ var timeDisplay; //用秒数来显示当前播放进度 timeDisplay = Math.floor(video.currentTime); //当视频播放到 4s的时候做处理 if(dialogCounts[0] == timeDisplay){ if(flagTime){ tempRecord("auto"); returnConfirm(); closePage(); //此处只判断整数 flagTime = false; }else{ return false; } } if(dialogCounts[1] == timeDisplay){ if(flagTime1){ tempRecord("auto"); returnConfirm(); closePage(); //此处只判断整数 flagTime1 = false; }else{ return false; } } if(dialogCounts[2] == timeDisplay){ if(flagTime2){ tempRecord("auto"); returnConfirm(); closePage(); //此处只判断整数 flagTime2 = false; }else{ return false; } } if(dialogCounts[3] == timeDisplay){ if(flagTime3){ tempRecord("auto"); /* layer.confirm('亲!还在视频前吗,10秒后关闭视频?', { btn: ['在','不在'] //按钮 }, function(){ layer.closeAll(); player.play(); player.currentTime(currentTime); }, function(){ history.go(-1); }); */ returnConfirm(); closePage(); //此处只判断整数 flagTime3 = false; }else{ return false; } } },false); //保存视频进度 function tempRecord(type){ var isOver = "N"; if(isOver == 'N'){ player.pause();//暂停 var currentTimeParam = player.currentTime(); $.ajax({ type:"post", url:"pcoarOcManage/tempRecord.do", async:false, data:{ resourceId : resourceId, //resourceId targetId: id, learnTimeParam: currentTimeParam }, dataType:'json', success:function(data){ if(data.hasError == true){ layer.msg(data.message, {icon: 2}); return false; } currentTime = currentTimeParam; if(type == "temp"){ layer.msg(data.message, {icon: 1}); } }, complete:function(){ } }); }; }; //产生随机数 function randomNum(minNum,maxNum){ switch(arguments.length){ case 1: return parseInt(Math.random()*minNum+1,10); break; case 2: return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); break; default: return 0; break; } } //点击事件 function returnConfirm(){ var isOver = "N"; console.log("进入弹窗? "); if(isOver == 'N'){ layer.confirm('亲!还在观看吗?(若不在则10秒后自动关闭文件)', { btn: ['在'] //按钮 }, function(){ player.play(); player.currentTime(currentTime); window.clearTimeout(timer2); // 关闭第二个定时器 layer.closeAll(); }); } } //10秒事件 function closePage(){ var isOver = "N"; if(isOver == 'N'){ timer2 =setInterval(function(){ history.go(-1); },10000); } }
SweetAlert如何实现点击Confirm之后自动关闭
``` swal({ title: "Are you sure?", text: "You will not be able to recover this imaginary file!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes, delete it!", cancelButtonText: "No, cancel plx!", closeOnConfirm: false, closeOnCancel: false }, function(isConfirm){ if (isConfirm) { swal({ title: "Auto close alert!", text: "I will close in 2 seconds.", timer: 0, showConfirmButton: false }); alert('asd'); } else { swal("Cancelled", "Your imaginary file is safe :)", "error"); } }); ``` 像这段代码,可以实现点击Confirm弹出一个新的SweetAlert框,原来的框会自动关闭,但是当我把function中的代码改成alert('hello')之后,没有调用swal方法,那么虽然alert可以正常执行,但是原来的框就不能自动关闭了。所以想请问下有没有什么方法可以在回调函数中使用自定义方法,但是又能够自动关闭原来的swal弹框。卡很久了,望大家赐教。
求助Python学习方面的问题……
今天看到了[用Python画疫情地图](https://mp.weixin.qq.com/s/DjBIu4851l0a_vN_aEjo7Q "") 这一贴,觉得非常有意思,虽然无法真正画出图来,但我还是可以写程序做个简单统计。 代码如下: ``` import time, json, requests # 抓取相关数据 url = 'https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_area_counts&callback=&_=%d'%int(time.time()*1000) data = json.loads(requests.get(url=url).json()['data']) print(data) print('*' * 5) # 清理掉中国之外的地区 for countryX in data: if countryX['country'] != '中国': print('清除',countryX) data.remove(countryX) print(data) # 设定基础变量 cityX = [] areaX = [] confirmX = 0 suspectX = 0 deadX = 0 healX = 0 # 分别列出中国内各地的疫情 for areal in data: print('国家:'+ areal['country']) print('——地区:'+ areal['area']) areaX.append(areal['area']) print('————城市:'+ areal['city']) cityX.append(areal['city']) print('——————确诊:', areal['confirm']) confirmX = confirmX + areal['confirm'] print('——————疑似:', areal['suspect']) suspectX = suspectX + areal['suspect'] print('——————死亡:', areal['dead']) deadX = deadX + areal['dead'] print('——————治愈:', areal['heal']) healX = healX + areal['heal'] print('*' * 5) # 总统计 print('截止至当前为止,共确诊%i例,疑似%i人,死亡%i人,治愈%i人。' %(confirmX,suspectX,deadX,healX)) ``` 结果怎么样?菲律宾死活就是清理不掉!求前辈指点迷津……我到底疏忽了哪里?
firefox 为什么confirm 弹出的框被弹出的模式窗体挡住了
firefox 为什么confirm 弹出的框被弹出的模式窗体挡住了
关于Javascript中confirm函数的逻辑问题
在以下函数中,弹出信息框之后,我点击确认,返回true,弹出来的却是else的内容,如果我点击取消,弹出的也是else的内容。 如果我改变变量name的名字,那么逻辑判断正确。请问是这个name变量的名字有什么问题吗? ``` var name = confirm("你喜欢我吗?"); if(name == true){ alert("谢谢,其实我也喜欢你很久了!"); } else{ alert("操,不喜欢我就滚!"); } ```
jsp页面引入js文件,alert对话框乱码
![图片说明](https://img-ask.csdn.net/upload/201912/03/1575357882_951778.jpg) 整个项目的编码方式不管是GBK还是UTF-8,都是乱码,js文件的编码格式也一样,不管是GBK还是UTF-8,都是乱码,就只有引入的js文件是乱码,servlet和jsp里面的没有乱码,百度查了两三天了,什么改文件编码,都没用 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="domain.*,dao.*,java.util.*,java.util.Date" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>科院小商店</title> <style type="text/css"> #search{font-size:20px;width:500px;height:40px;border-radius:20px;outline:none;padding-left:15px;padding-right:15px;} </style> <script type="text/javascript" src="${pageContext.request.contextPath}/js/index.js"></script> <script> var name="${sessionScope.user.name}"; var type="${sessionScope.user.type}"; //添加商品到购物车 function addToCart(num) { location.href="${pageContext.request.contextPath}/CartAddServlet?num="+num; } </script> </head> ``` ```function logout() { if(confirm("你确定要退出登陆吗?")) return true; return false; } ```
layer的confirm框,为什么不执行对应的函数呢?
1.会弹出123 2.但是不会弹出1 3.也不会弹出2 4.确认提交confirm框会一闪而过,之后表单提交 ``` <form method="post" action="<%=basePath%>questionnaire/save" onsubmit="return check_form()" id="form_1"> </form> function check_form(){ alert(123); layer.confirm('确认提交?', { btn: ['确定','取消'] //按钮 }, function(index){ alert(1); layer.msg('感谢您参与平台调研,稍后会有工作人员联系您!', {icon: 1}); return true; }, function(index){ alert(2); layer.msg('已取消!', {icon: 1}); return false; } ); } ```
vuejs2.x中confirm弹窗如何控制提示语和点击确定与取消事件。。来上代码吧!
弹窗组件: ``` <template> <div class="modal-mask"> <div class="modal-confirm"> <h4 class="confirm-header">操作提示</h4> <div class="confirm-content"> {{ content }} </div> <div class="confirm-btns"> <button class="btn" v-on:click="op('cancel')">取 消</button> <button class="btn btn-primary" v-on:click="op('ok')">确 定</button> </div> </div> </div> </template> ``` 调用组件的页面: ``` <template> <div> <h1>Alert</h1> <button class="btn btn-primary" v-on:click="alert">alert</button> <confirm :parent-msg="parentMsg" v-show="confirmshow"></confirm> </div> </template> ```
关于 Vim 编辑器
Problem Description Vim is a text editor which developed from vi. Due to its powerful function in code complete, compile, and error jump, it’s widely used by programmers. The same as Emacs, it’s the most popular text editor among users of UNIX. As such an excellent text editor, Vim has various of orders. Now, we’re asking you to write a program that simulates Vim’s replace order. The format of Vim’s replace order is ([] means optional, {} means necessary) : :[range]s/{pattern}/{string}/[flag] In the order above, ‘:’ means the start of a replace order, [range] indicates the range of the order, that is, the order works in which lines. ‘s’ is short for substitute. {pattern} and {string} represent the string to match and replace to, respectively. ‘/’ is used to mark the beginning and ending of {pattern} and {string}. {flag} is used to open or close some options. {range} is often two integers separated by a comma, indicating the start line and end line’s line number. For example, “4,8” means from line 4 to line 8 (including line 4, line 8). Line number starts from 1. You can also use a ‘%’ to represent all lines. (Additional, Vim provides many more flexible formats. Such as, bypassing a number means the line cursor stays, ‘′meansthelastlineofthetext.So,“,” means from the line cursor stays to the last line. ) {pattern} and {string} both support regular expression (if you haven’t ever heard of it, go to Google for help). If {pattern} is empty, the {pattern} of the last replace order will be used. Obviously, ‘/’ can’t be included in {pattern} and {string}. So, an additional escape character ‘\’ is used. For example, if you want to replace “<br>” to “<br/>”, you cannot write: :%s/<br>/<br />/g Instead, you should write: :%s/<br>/<br \/>/g If there’re too many ‘/’s in the expression, (for instance, "file:///usr/share/man/man1/vim.1.gz"), it will become troublesome. So, people think of a solution, that is, use another character as the separator (the first character after ‘s’ is always treated as the separator). For example, when using ‘+’ as the separator, the order above can be written this way: :%s+<br>+<br />+g There’re many kinds of [flag]. ‘g’ means replace every time it matches. Without a ‘g’, it will only replace the first matching string. For example: #include <stdio.h> Execute the order bellow: :%s/i//g Result is: #nclude <stdo.h> While executing this order bellow: :%s/i// Result is: #nclude <stdio.h> Other flags including: ‘c’ indicates a confirm is required before every replacement, ‘i’ indicates case insensitive. Here comes a problem, what if you want to replace “a” to “aa”? Somebody may doubt that it will go to an endless loop, but in fact, it won’t. Because there is a rule that, in a replacement, the replaced characters can’t be replaced again. So, if you want to replace “a” to “aa”, it’s in fact that every successive “a” string is doubled in length. To simplify the problem, we make some appointments: 1. [range] must appear, in the form of “%” or “a,b” (a, b are both integers, and a<=b) 2. {pattern} and {string} are both consist of characters, numbers, spaces and “_” (not including any separator below, so an escape character is not needed) 3. You can choose one of these characters as the separator: /~!@#$%^&*()-+= 4. [flag] is always a “g” A big example: Original text: If the Tao is greet, then the operating system is greet. If the operating system is greeter, then the compiler is greet. If the compiler is greeter, then the applications is greet. The user is pleased and there is harmony in the world. Replace order: :[1,4]s/greet/great/g Or: :%s+greet+great+g Either will replace the original text to: If the Tao is great, then the operating system is great. If the operating system is greater, then the compiler is great. If the compiler is greater, then the applications is great. The user is pleased and there is harmony in the world. Please write a program to simulate this simplified vim replace order. Input The input will consist of one case. The first line will be a positive integer L (L <= 100), specifying the number of lines to be processed. Then L lines of text are given. Each line has no more than 100 characters. After that, several pieces (<= 50) of replace orders are given (one per line). It is ensured that any line of text will never have more than 100 characters during the replacement. Output After the execution of every replace order, output the line number and content of the lines that have been replaced, order by line number from small to big. In each line, first output the line number, which has a width of 4 characters, right-aligned, then 2 spaces, then the text after replacement. If any order replaced nothing, output "Pattern not found". Output a blank line between any two replace order’s result. Sample Input 4 If the Tao is greet, then the operating system is greet. If the operating system is greeter, then the compiler is greet. If the compiler is greeter, then the applications is greet. The user is pleased and there is harmony in the world. :1,3s/greet/great/g :%s//great/g Sample Output 1 If the Tao is great, then the operating system is great. 2 If the operating system is greater, then the compiler is great. 3 If the compiler is greater, then the applications is great. Pattern not found
后台动态数据,怎么增加一个导出功能,导出选中的数据
怎么增加一个导出功能,导出选中的数据 ``` <!-- inc:header --> <div class="notice"><div class="p"> <table width="100%" cellpadding="0" cellspacing="0"> <tr> <td><span class="lead">&nbsp;&raquo; 推荐客户列表</span></td> <td> <table> <form method="post" action="#" onsubmit="to_search();return false;"> <tr> <td> <select name="status" id="status"> <option value="">不限审核</option> <option value="1"{if($status == 1)} selected{end}>已审核</option> <option value="2"{if($status == 2)} selected{end}>未审核</option> <option value="3"{if($status == 3)} selected{end}>已过期</option> </select> </td> <td>&nbsp; 时间:</td> <td><input type="text" name="startdate" id="startdate" onfocus="show_date('startdate')" style="width:75px;" value="{:$startdate}"></td> <td>&nbsp;-&nbsp;</td> <td><input type="text" name="enddate" id="enddate" onfocus="show_date('enddate')" style="width:75px;" value="{:$enddate}"></td> <td>&nbsp; 关键字:</td> <td> <select name="keytype" id="keytype"> <option value="">不限</option> <option value="cellphone"{if($keytype == "cellphone")} selected{end}>手机</option> <option value="username"{if($keytype == "username")} selected{end}>姓名</option> </select> </td> <td><input type="text" name="keywords" value="{:$keywords}" id="keywords"></td> <td><input type="submit" value="搜索" class="btn2"></td> </tr> </form> </table> </td> <td align="right"><a class="status0"></a></td> <td>未审核</td> <td align="right"><a class="status1"></a></td> <td>已审核</td> <td align="right"><a class="status2"></a></td> <td>已过期</td> <td align="right"><a href="{:site_url('customer,set')}module_id={:$m_rs[id]}&" class="button">添加新推荐人</a></td> </tr> </table> </div></div> <div class="main"> <table width="100%" style="layout:fixed;" cellpadding="0" cellspacing="0"> <tr> <td class="t_sub" width="40px">&nbsp;</td> <td class="t_sub" width="50px">ID</td> <td class="t_sub" width="35px">状态</td> <td class="t_sub">合伙人</td> <td class="t_sub">客户姓名</td> <td class="t_sub">客户手机</td> <td class="t_sub">项目名称</td> <td class="t_sub">预约时间</td> <td class="t_sub" width="110px">注册时间</td> <td class="t_sub" width="45px">操作</td> </tr> <!-- $rslist AS $key=>$value --> <tr class="tr_out" onMouseOver="over_tr(this)" onMouseOut="out_tr(this)"> <td align="center" class="tc_left"><input type="checkbox" value="{:$value[id]}"></td> <td align="center" class="tc_right">{:$value[id]}</td> <td align="center" class="tc_right" id="status_{:$value['id']}"><a href="javascript:status({:$value[id]},{:intval($value['status'])});void(0);" class="status{:intval($value['status'])}"></a></td> <td align='center' class="tc_right">&nbsp;<a href="javascript:show_user('{:$value[uid]}');void(0);">{:$value[uname]}</a></a></td> <td align='center' class="tc_right">&nbsp;{:$value[username]}</a></td> <td align='center' class="tc_right">&nbsp;{:$value[cellphone]}</td> <td align='center' class="tc_right">&nbsp;{:$value[proname]}</td> <td align='center' class="tc_right">&nbsp;{:$value[appointment_date]}&nbsp;{:$value[appointment_time]}</td> <td align='center' class="tc_right">{:date('Y-m-d H:i',$value[postdate])}</td> <td align="center" class="tc_right"> <a href="{:site_url('customer,set')}module_id={:$m_rs[id]}&id={:$value[id]}" class="btn edit" title="编辑"></a> <a href="javascript:del({:$value['id']});void(0);" class="btn del" title="删除"></a> </td> </tr> <!-- end --> </table> </div> <div class="table"> <table width="100%"> <tr> <td> <input type="button" value="全选" onclick="select_all()" class="btn2"> <input type="button" value="全不选" onclick="select_none()" class="btn3"> <input type="button" value="反选" onclick="select_anti()" class="btn2"> &nbsp; <input type="button" value="批量审核" onclick="update_pl('1')" class="btn4"> <input type="button" value="批量未审核" onclick="update_pl('0')" class="btn4"> <input type="button" value="批量已过期" onclick="update_pl('2')" class="btn4"> &nbsp; <input type="button" value="批量删除" onclick="del_pl()" class="btn4"> </td> <td align="right">{:$pagelist}</td> </tr> </table> </div> <script type="text/javascript"> function to_search() { url = base_url; //状态 var st = getid("status").value; if(st) { url += "status="+st+"&"; } var startdate = getid("startdate").value; if(startdate) { url += "startdate="+EncodeUtf8(startdate)+"&"; } var enddate = getid("enddate").value; if(enddate) { url += "enddate="+EncodeUtf8(enddate)+"&"; } var keytype = getid("keytype").value; var keywords = getid("keywords").value; if(keytype && keywords) { url += "keytype="+EncodeUtf8(keytype)+"&keywords="+EncodeUtf8(keywords)+"&"; } direct(url); return false; } function update_pl(st) { var id = join_checkbox(); if(!id) { alert("请选择要更新的信息"); return false; } var url = base_url + base_func + "=pl_status&status="+st+"&id="+id; var msg = get_ajax(url); if(msg == "ok") { direct(window.location.href); return true; } else { if(!msg) msg = "error: 操作错误"; alert(msg); return false; } } function del_pl() { var id = join_checkbox(); if(!id) { alert("请选择要删除的信息"); return false; } var qc = confirm("确定要删除该信息吗?删除后是不能恢复!"); if(qc == "0") { return false; } var url = base_url + base_func + "=pl_del&id="+id; var msg = get_ajax(url); if(msg == "ok") { direct(window.location.href); return true; } else { if(!msg) msg = "error: 操作错误"; alert(msg); return false; } } function to_del(id) { var qc = confirm("确定要删除该信息吗?删除后是不能恢复!"); if(qc == "0") { return false; ```
使用jQuery ajax,回调函数必须在有一个alert()的前面才能执行?
请问下 ``` $(document).ready(function() { $("#confirm").submit(function(){ var $form = $(this); $.post($form.attr("action"),$form.serialize(),function(data){ alert("5555"); if (data.code == 0) { alert("添加成功,红包一个工作日到账,请注意查收"); $('#myModal2').modal('toggle'); return false; }else{ alert(data.message); return false; } },"json"); // alert(); //如果有这句alert就先走到这句然后才进入回调函数,如果没有直接走到下一句return false;为什么 return false; //直接走到这里 }); }); ```
IE11 如何自定义confirm 类似于如下方法,但是IE11已经不支持了
<script language=javascript> function window.confirm(str) { execScript("n = (msgbox('"+str+"',vbYesNo, '提示')=vbYes)", "vbscript"); return(n); } alert(confirm("重载的confirm弹出框")); </script>
达梦数据库按照使用年限进行统计,怎么写sql?
/** * 获取按年数分类,通用 * @return */ private Field<String> getYear() { Field<Object> useTime = DSL.field("YEAR(now()) - YEAR(TBL_ELEVATOR.service_date)"); Field<String> year = DSL.decode() .when(useTime.between(0, 4), "5年以内") .when(useTime.between(5, 9), "5年至10年") .when(useTime.between(10, 14), "10年至15年") .otherwise("15年以上") .as("name"); return year; } /** * 按投入使用年限分的电梯总数 * @param condition * @return */ private Table<Record> getYearsTotalCountTable(Map<String, Object> condition) { Field<String> year = getYear(); SelectJoinStep<Record> record = dsl.select(DSL.count().as("yearsCount")) .select(year) .from(TBL_ELEVATOR) .leftJoin(TBL_USER_DEV) .on(TBL_ELEVATOR.USER_DEV_ID.eq(TBL_USER_DEV.ID)); return record.groupBy(year) .asTable("totalCount"); } /** * 按投入使用年限分:获取故障数量 * @param condition * @return */ private Table<Record> getYearsDisplayCountTable(Map<String, Object> condition) { Field<String> year = getYear(); SelectJoinStep<Record> record = dsl.select( DSL.count().as("malfunctionCount") ) .select(year) .from(TBL_WARNING) .leftJoin(TBL_USER_DEV) .on(TBL_WARNING.USER_DEV_ID.eq(TBL_USER_DEV.ID)) .leftJoin(TBL_ELEVATOR) .on(TBL_ELEVATOR.USER_DEV_ID.eq(TBL_USER_DEV.ID)); List<Condition> conditions = getTypeConditions(condition); return record.where(DSL.and(conditions)) //.and(TBL_WARNING.STATUS.eq(CommonCodeConstants.WARNING_STATUS_CONFIRM)) .groupBy(year) .asTable("dispalyCount"); } /** * 投入使用年限 * @param condition * @param page * @return */ @SuppressWarnings("unchecked") public List<MalfunctionStatistics> getUseYearsStatistics(Map<String, Object> condition, Pagination page) { Table<Record> totalCount = getYearsTotalCountTable(condition); Field<String> years = (Field<String>) totalCount.field("name"); Field<Integer> yearsCount = (Field<Integer>) totalCount.field("yearsCount"); Table<Record> dispalyCount = getYearsDisplayCountTable(condition); Field<String> dispalyYears = (Field<String>) dispalyCount.field("name"); Field<Integer> dispalyYearsCount = (Field<Integer>) dispalyCount.field("malfunctionCount"); SelectJoinStep<Record> reacord = dsl .select( DSL.decode() .when(dispalyYearsCount.isNull(), 0) .otherwise(dispalyYearsCount) .as("malfunctionCount") ) .select( DSL.decode() .when(yearsCount.isNull(), 0) .otherwise(yearsCount) .as("eleCount") ) .select(years) .from(totalCount) .leftJoin(dispalyCount) .on(years.eq(dispalyYears)); return reacord.groupBy(years,dispalyYearsCount,yearsCount) .fetch() .into(MalfunctionStatistics.class); } 上面的方法转化成sql语句: select case when dispalyCount.malfunctionCount is null then 0 else dispalyCount.malfunctionCount end malfunctionCount, case when totalCount.yearsCount is null then 0 else totalCount.yearsCount end eleCount, totalCount.name from ( select count(*) yearsCount, case when YEAR(now()) - YEAR(TBL_ELEVATOR.service_date) between 0 and 4 then '5年以内' when YEAR(now()) - YEAR(TBL_ELEVATOR.service_date) between 5 and 9 then '5年至10年' when YEAR(now()) - YEAR(TBL_ELEVATOR.service_date) between 10 and 14 then '10年至15年' else '15年以上' end name from emsm.tbl_elevator left outer join emsm.tbl_user_dev on emsm.tbl_elevator.user_dev_id = emsm.tbl_user_dev.id group by name ) totalCount left outer join ( select count(*) malfunctionCount, case when YEAR(now()) - YEAR(TBL_ELEVATOR.service_date) between 0 and 4 then '5年以内' when YEAR(now()) - YEAR(TBL_ELEVATOR.service_date) between 5 and 9 then '5年至10年' when YEAR(now()) - YEAR(TBL_ELEVATOR.service_date) between 10 and 14 then '10年至15年' else '15年以上' end name from emsm.tbl_warning left outer join emsm.tbl_user_dev on emsm.tbl_warning.user_dev_id = emsm.tbl_user_dev.id left outer join emsm.tbl_elevator on emsm.tbl_elevator.user_dev_id = emsm.tbl_user_dev.id where 1 = 1 group by name ) dispalyCount on totalCount.name = dispalyCount.name group by totalCount.name, dispalyCount.malfunctionCount, totalCount.yearsCount 会报错 执行失败(语句1) 第42 行附近出现错误[-2111]: 无效的列名[name] 怎么解决,求助各位大佬?
如何调用JavaScript中confirm()的返回值?
大家好! 我是一名JavaScript初学者,没有其他语言基础, 在学习中,我想先对这门语言有一个宏观纵览,有了编程的思路,再回到细节中夯实基本功,以避免“淹死”到那些术语和细节中 我想实现这样一个功能: 1、利用prompt()函数让用户输入姓名 2、利用confirm()函数判断用户的性别 3、confirm()返回真,则alart()显示“你好,××先生! 反之,显示“你好,××女士!” 我基本功很差,自说自话的写了以下代码, <script> var name=prompt("你的名字叫什么?"); confirm("你是男士吗?"); function judgeGender() { var r=confirm("你是男士吗?") var mr="先生" var miss="女士" if(r==true) { retune mr } else { retune miss } } alert("你好,"+name+function judgeGender()+"!") </script> 这段代码根本不好使,恳请大哥大姐能帮我完善这段代码成为能正常运行的代码 以便我钻研品读,找出应该加强的基本知识,万分感谢!
C#使用 webBrowser弹窗问题 confirm弹窗
在提交订单的时候会弹confirm 网上看到的方法都是试过了 全部无效 如何才能点击确定让程序接的运行 在线求方法
vb.net Cefsharp重写alert与confirm弹窗
以下内容是以c#写的,我不明确认点写下 https://blog.csdn.net/daye5465/article/details/77482997 1、 文章提到 添加类JsDialogHandler,实现接口CefSharp.IJsDialogHandler 这个类是从那里找呢? 2、inherits有错,这个是不是第1点的类加入,就可以解决 ![图片说明](https://img-ask.csdn.net/upload/201906/02/1559487783_222943.jpg) 3、 初始化browser时,将自定义的弹窗注册上 _browser = new CefSharp.WinForms.ChromiumWebBrowser(url) { BrowserSettings = { DefaultEncoding = "UTF-8" }, MenuHandler = new MenuHandler(), LifeSpanHandler = new OpenPageSelf(), JsDialogHandler = new JsDialogHandler(), Dock = DockStyle.Fill, }; 以上为文章写的,我原始的如下,要如何修改成文章上可以用的呢? browser = New ChromiumWebBrowser(FullFileName) With { .Dock = DockStyle.Fill }
后台如何获得js脚本里confirm()的返回值
判断有时需要弹出对话框进行判断,JS 中使用 Confirm() 函数,在 Java 后台要如何获取 Confirm() 的返回值,请大神明示
php+mvc模式的登陆口验证码可以点击刷新,不会自动刷新,求大神解决
1:描述问题:网站首页登陆口不管如何刷新[F5],验证码都不会变。但是点击验证码的话可以变为新的验证码!而且我们使用验证码登陆成功后同时退出来,此时登陆口的验证码还是之前使用过的验证码,没有更新!请大神帮我解决下,贴出正确的代码!因为本人不是很懂,只会照葫芦画瓢!万分感谢!无解决方案的请别回复了谢谢! 文件名:PassportController 代码如下,这个应该是控制器 /* 生成验证码 */ public function verify() { $config = [ 'fontSize' => 19, // 验证码字体大小 'length' => 4, // 验证码位数 'imageH' => 34 ]; $Verify = new Verify($config); $Verify->entry(); } /* 验证码校验 */ public function check_verify($code, $id = '') { $verify = new \Think\Verify(); $res = $verify->check($code, $id); $this->ajaxReturn($res, 'json'); } public function accessRules() { return array( array('allow', // 允许所有用户访问 'login' 动作. 'users'=>array('*'), ), array('allow', // 允许认证用户访问所有动作 'users'=>array('@'), ), array('deny', // 拒绝所有的用户。 'users'=>array('*'), ), ); } /* 异地登录检测 */ public function actionPlaceOtherLogin() { if(isset($_POST['username']) && $_POST['username']!="" && isset($_POST['pwd']) && $_POST['pwd']) { $siteLogin=new SiteLoginForm; $siteLogin->username=$_POST['username']; $siteLogin->password=$_POST['pwd']; $siteLogin->verifyCode=$_POST['verifyCode']; $siteLogin->rememberMe=false; if($siteLogin->validate())//用户名密码正确 { $userinfo=User::model()->findByAttributes(array( 'Username'=>$_POST['username'], 'PassWord'=>md5($_POST['pwd']) )); if($userinfo->Status==0)//用户帐号没有被冻结,处于正常状态 { if($userinfo->PlaceOtherLogin==0)//用户没有开启异地登录,则允许用户直接提交登录 { echo "true"; }else//开启异地登录 { //1.检查此次登录的ip与最近一次登录的ip是否相同 $lastLoginLog=Loginlog::model()->find(array( 'condition'=>'userid='.$userinfo->id, 'order'=>'id desc' )); if($lastLoginLog->loginip===XUtils::getClientIP())//如果本次登录ip与最近一次登录ip相同则允许用户直接提交 { echo "true"; }else//如果不同则返回通知使用短信验证 { echo $userinfo->Phon;//需要手机接手短信验证码,返回手机号码,以便发送短信进行验证 } } }else//帐号被冻结 { echo "LOCK"; } }else { echo "FAIL"; } } } // 登陆口的文件名:index 代码如下 // <link rel="stylesheet" type="text/css" href="<?php echo VERSION2;?>2_files/index.css"> <div class="banNer"><!--首页幻灯--> <ul class="rslides" id="slider"> <li style="background: url(<?php echo VERSION2;?>img/banner/banner_tg.jpg) no-repeat center top;"> <li style="background: url(<?php echo VERSION2;?>img/banner/003.jpg) no-repeat center top;"> </li> </ul> <!--登录区域--> <div class="login_frame_bg" <?php if(Yii::app()->user->getId())echo 'style="display:none;"';?>> <div class="login_frame"> <span class="warningSpan"<?php if(isset($_GET['loginStatus']) && $_GET['loginStatus']=='fail') echo 'style="display:block;"';?>>用户名或密码错误</span> <div id="myForm"> <table> <form method="post" onsubmit="return checkLogin()" action="<?php echo $this->createUrl('passport/login');?>"> <tbody> <tr> <td> <div class="login_mailbox"> <input type="hidden" name="User[position]" value="index" /> <input id="lusername" type="text" name="User[Username]" autocomplete="off" placeholder="用户名"> </div> </td> </tr> <tr> <td> <p class="zq" id="miaoname" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <div class="login_ps"> <input id="lpassword" type="password" name="User[PassWord]" name="LoginForm[password]" placeholder="请输入密码"> </div> </td> </tr> <tr> <td> <table> <tr> <td> <input type="text" name="User[VerifyCode]" class="" placeholder="请输入右边验证码" style=" width: 170px; margin-right: 5px; border-radius: 5px; line-height: 35px; border: 1px solid #fff; padding-left: 5px;" id="verifyCode" /> </td> <td> <?php $this->widget( 'CCaptcha', array('showRefreshButton'=>false, 'clickableImage'=>true, 'imageOptions'=>array( 'alt'=>'点击换图', 'title'=>'点击换图', 'style'=>'cursor:pointer; background:#fff; height:27px; border-radius:5px;' ) ) ); ?> </td> </tr> </table> </td> </tr> <tr> <td> <p class="zq" style="height: 10px;"></p> </td> </tr> <tr> <td> <p id="miaopwd" class="zq" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <li style=" color:#fff; font-size:12px;"><input name="User[rememberMe]" type="checkbox" style="position: relative; top: 3px; width:12px;" /> 下次自动登录<a href="javascript:;" class="forgetPwd" style=" float:right; margin-right:28px; color:white;">忘记密码?</a></li><br /> </td> </tr> <tr> <td> <button class="login-btn" id="login_btn">登录</button> </td> </tr> <tr> <td> <span><a href="<?php echo $this->createUrl('passport/regist');?>" id="a">还没有账号?点击注册>></a></span> </td> </tr> </tbody> <form> </table> </div> </div> </div> <div class="indIntr" style="background="achose.png" ><!--系统优势--> <div class="why_main4 clearfix"> </div> </div> <script> //登录表单检测 function checkLogin() { if($("#lusername").val()=="") { layer.tips('用户名不能为空', '#lusername'); return false; }else if($("#lpassword").val()=="") { layer.tips('密码不能为空', '#lpassword'); return false; }else if($("#verifyCode").val()=="") { layer.tips('验证码不能为空', '#verifyCode'); return false; }else { var submitStatus=0;//提交状态初始化verifyCode var phone=0;//手机号码初始化 //检查是否开启异地登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/placeOtherLogin');?>", data:{ "username":$("#lusername").val(), "pwd":$("#lpassword").val(), "verifyCode":$("#verifyCode").val(), }, async:false, success:function(msg) { if(msg=="true")//不用检测 { submitStatus=1; }else if(msg=="FAIL")//用户名或密码不正确 { } else if(msg=="LOCK")//用户帐户被冻结 { submitStatus=3; }else//需要发送手机验证码 { phone=msg;//赋值用户手机号 submitStatus=2; } } }); /*alert(submitStatus); exit;*/ //检查是否开启异地登录 if(submitStatus==0)//用户名密码不正确 { layer.tips('用户名,密码或验证码不正确', '#lusername', { tips: [1, '#0FA6D8'] //还可配置颜色 }); return false; }else if(submitStatus==3) { //询问框 layer.confirm('<span style="color:red;">您的帐户已被冻结,如有需要请联系客服人员</span>', { btn: ['知道了'] //按钮 }); return false; }else if(submitStatus==1)//直接提交 { return true; }else//2表示需要发送短信验证码 { //发送验证码 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('site/sms');?>", data:{"phone":phone,"phoneCode":"DONE"}, async:false, success:function(msgCode) { if(msgCode=="SUCCESS") { //询问框 layer.confirm('<span style="color:red;">短信发送成功(异地登录请输入手机验证码)</span><br/>验证码<input class="text1 phoneCodeVal" name="phoneCodeVal" />', { btn: ['确定提交'] //按钮 },function(){ if($(".phoneCodeVal").val()=="")//验证码不为空 { layer.tips('验证码不能为空', '.phoneCodeVal'); }else{ //发送手机号与验证码去验证正确性 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/userCheckPhoneAndCode');?>", data:{"phone":phone,"phoneCode":$(".phoneCodeVal").val()}, async:false, success:function(msgCertain) { if(msgCertain=="SUCCESS")//手机验证码检测通过 { //验证通过直接进行提交登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/codePassLogin');?>", data:{"username":$("#lusername").val(),"pwd":$("#lpassword").val()}, async:false, success:function(msglogin) { if(msglogin=="SUCCESS")//登录成功刷新当前页面 { location.reload(); //询问框 }else//登录异常刷新当前页面 { layer.confirm('<span style="color:red;">登录异常</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); } } }); //验证通过直接进行提交登录 }else if(msgCertain=="CODEFAIL")//验证不正确 { layer.tips('验证码不正确', '.phoneCodeVal'); }else//手机号异常 { layer.tips('手机号码异常', '.phoneCodeVal'); } } }); //发送手机号与验证码去验证正确性 } }); }else { //询问框 layer.confirm('<span style="color:red;">异地登录验证-短信发送失败,可能发送次数过多</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); phoneAndCodeCheckStatus=0; } } }); //发送短信验证码结束 return false; } } } //忘记密码 $(".forgetPwd").click(function(){ layer.open({ type: 2, title:'找回密码', area: ['375px','270px'], skin: 'layui-layer-rim', //加上边框 content: ['<?php echo $this->createUrl('passport/forgetPwd');?>', 'no'] }); }); </script> // 能帮我解决问题的才回复,或者还需要我提供什么的请留言,谢谢了,
130 个相见恨晚的超实用网站,一次性分享出来
相见恨晚的超实用网站 持续更新中。。。
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱 极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件, 选择安装到U盘(按照操作无需更改) 三、重启进入pe系统 1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12) 选择需要启...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
java源码分析 Arrays.asList()与Collections.unmodifiableList()
ArrayList支持所有的可选操作(因为一个UnsupportedOperationException异常都没有捕获到),所以要想拥有完备的功能,还是得使用ArrayList啊。 Arrays$ArrayList除了set()操作外,都不支持。 Collections$UnmodifiableRandomAccessList都不支持,名副其实的Unmodifiable不可修改。
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
Java学习笔记(七十二)—— Cookie
概述 会话技术: 会话:一次会话中包含多次请求和响应 一次会话:浏览器第一次给服务器发送资源请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据 方式: 客户端会话技术:Cookie,把数据存储到客户端 服务器端会话技术:Session,把数据存储到服务器端 Cookie 概念:客户端会话技术,将数据存储到客户端 快速入门: 使用步骤: 创建C...
程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
程序员该看的几部电影
1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?如何...
蓝桥杯知识点汇总:基础知识和常用算法
文章目录基础语法部分:算法竞赛常用API:算法部分数据结构部分 此系列包含蓝桥杯绝大部分所考察的知识点,以及真题题解~ 基础语法部分: 备战蓝桥杯java(一):一般输入输出 和 快速输入输(BufferedReader&amp;BufferedWrite) 备战蓝桥杯java(二):java编程规范和常用数据类型 备战蓝桥杯java(三):常用功能符以及循环结构和分支结构 备战蓝桥杯java(四...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
实现简单的轮播图(单张图片、多张图片)
前言 刚学js没多久,这篇博客就当做记录了,以后还会完善的,希望大佬们多多指点。ps:下面出现的都是直接闪动,没有滑动效果的轮播图。 单张图片的替换 · ...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 意思是密码。 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mkdir:Make directory ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药...
Java与Python学习通法(1)和(2)序言和编程语言发展史怎么学
dd
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 整理了一份Java核心知识点。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。 欢迎大家加入java学习交流社区 点击加入 可获取文中文档 小编推荐: ...
Python基础知识点梳理
python常见知识点梳理 摘要: 本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象。python的详细语法介绍可以查看官方编程手册,也有一些在线网站对python语法进行了比较全面的介绍,比如菜鸟教程: python3 教程|菜鸟教程 本文主要是介绍基础语法,操作实例在另一篇博客中单独介绍: python语言介绍 python是一门解释型语言,python的设计目标: 一门...
2020年2月全国程序员工资统计,平均工资13716元
趋势 2020年2月,中国大陆程序员平均工资13716员,比上个月增加。具体趋势如图: 各主要程序员城市工资变化 城市 北京,上海,深圳,杭州,广州四地的工资最高。 city 平均工资 最低工资 中位数 最高工资 招聘人数 百分比 北京 18098 3750 15000 45000 20529 9.53% 深圳 16903 5750 15000 37500 30941 1...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad...
为什么说程序员做外包没前途?
之前做过不到3个月的外包,2020的第一天就被释放了,2019年还剩1天,我从外包公司离职了。我就谈谈我个人的看法吧。首先我们定义一下什么是有前途 稳定的工作环境 不错的收入 能够在项目中不断提升自己的技能(ps:非技术上的认知也算) 找下家的时候能找到一份工资更高的工作 如果你目前还年轻,但高不成低不就,只有外包offer,那请往下看。 外包公司你应该...
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问