jquery ajax 导入json数据进行修改操作

json数据 test.txt
[
{"XH":1,"YWName":"业务1","SName":"系统1","QDName":"渠道1","HJNumber":5},
{"XH":2,"YWName":"业务2","SName":"系统2","QDName":"渠道2","HJNumber":6},
{"XH":3,"YWName":"业务3","SName":"系统3","QDName":"渠道3","HJNumber":7}
]

jquery ajax获取方法

$('#button').click(function(){
$("#tab").hide();
$("table").remove();
$.ajax({
type:"GET",
url:"test.txt",
dataType:"json",
success:function(data){

var $table=$('

');
var $head =$('序号业务名称系统名称渠道名称环节数操作');
$table.append($head);
for(var i=0;i var row = data[i];
var $tr = $('');
var XH= $(''+row['XH'] + '');
var YWName= $(''+row['YWName'] + '');
var SName= $(''+row['SName'] + '');
var QDName= $(''+row['QDName'] + '');
var HJNumber= $(''+row['HJNumber'] + '');
$tr.append(XH).append(YWName).append(SName).append(QDName).append(HJNumber).append('');
$table.append($tr);
}
$('#chen').append($table);
}
});
return false;
});

需求:点击生成表格中的修改,对所在行的数据进行修改,加载新页面或者弹框都可以!!!

求各位大神指点迷津,小猴在这里谢过了!图片说明

7个回答

 <table border="1">
    <tr><td>序号</td><td>业务名称</td><td>系统名称</td><td>渠道名称</td><td>环节树</td><td>操作</td></tr>
    <tr><td>1</td><td>业务名称1</td><td>系统名称1</td><td>渠道名称1</td><td>环节树1</td><td><input type="button" value="修改" onclick="Modify(this)" /></td></tr>
    <tr><td>2</td><td>业务名称2</td><td>系统名称2</td><td>渠道名称2</td><td>环节树2</td><td><input type="button" value="修改" onclick="Modify(this)" /></td></tr>
</table>
<script type="text/javascript">
    function Modify(btn) {
        var modify = btn.value == '修改'
        var tr = btn.parentNode.parentNode;
        if (modify) {
            tr.cells[1].innerHTML = '<input type="text" value="' + tr.cells[1].innerHTML.replace(/"/g, '&quot;') + '"/>'
            tr.cells[2].innerHTML = '<input type="text" value="' + tr.cells[2].innerHTML.replace(/"/g, '&quot;') + '"/>'
            tr.cells[3].innerHTML = '<input type="text" value="' + tr.cells[3].innerHTML.replace(/"/g, '&quot;') + '"/>'
            tr.cells[4].innerHTML = '<input type="text" value="' + tr.cells[4].innerHTML.replace(/"/g, '&quot;') + '"/>'
        }
        else {
            tr.cells[1].innerHTML = tr.cells[1].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;')
            tr.cells[2].innerHTML = tr.cells[2].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;')
            tr.cells[3].innerHTML = tr.cells[3].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;')
            tr.cells[4].innerHTML = tr.cells[4].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;')
        }
        btn.value=modify?'更新':'修改'
    }
</script>

一般修改按钮都会携带当前记录的ID,然后跳转到修改界面并返回ID的详细信息的。不理解你现在需要干什么

那记录的ID怎么取呢,我现在的想法是:点击修改按钮,跳转到form表单页面进行修改,完成修改后提交返回回来

修改按钮那里传id到相应的controller中执行就可以

谢谢,两位大神的回答。我这个没调用后台,就是从文本中取的数据。现在想对修改按钮对应行就行操作(点击修改按钮,跳转到一个form表单页面,

修改完页面提交返回回来)

直接在当前页面修改不就好了,干嘛要新页面打开,要修改服务器数据要使用asp,asp.net那种,js修改不了

序号 业务名称 系统名称 渠道名称 环节树 操作
1 业务名称1 系统名称1 渠道名称1 环节树1
2 业务名称2 系统名称2 渠道名称2 环节树2
function Modify(btn) { var modify = btn.value == '修改' var tr = btn.parentNode.parentNode; if (modify) { tr.cells[1].innerHTML = '<input type="text" value="' + tr.cells[1].innerHTML.replace(/"/g, '&quot;') + '"/>' tr.cells[2].innerHTML = '<input type="text" value="' + tr.cells[2].innerHTML.replace(/"/g, '&quot;') + '"/>' tr.cells[3].innerHTML = '<input type="text" value="' + tr.cells[3].innerHTML.replace(/"/g, '&quot;') + '"/>' tr.cells[4].innerHTML = '<input type="text" value="' + tr.cells[4].innerHTML.replace(/"/g, '&quot;') + '"/>' } else { tr.cells[1].innerHTML = tr.cells[1].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;') tr.cells[2].innerHTML = tr.cells[2].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;') tr.cells[3].innerHTML = tr.cells[3].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;') tr.cells[4].innerHTML = tr.cells[4].firstChild.value.replace(/</g, '&lt;').replace(/>/g, '&gt;') } btn.value=modify?'更新':'修改' }

有后台的操作 还是会比较好的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
springmvc ajax json
刚开始学ajax。。。导入的jar包:jackson-mapper-asl-1.8.8.jar 和 jackson-core-asl-1.8.8.jar jsp代码 ``` <head> <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-1.9.1.js"></script> <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-1.9.1.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> <script type="text/javascript"> function ajaxTest(){ $.ajax({ data:"name="+$("#name").val(), //参数 type:"GET", dataType: 'json', //响应数据类型 url:"${pageContext.request.contextPath}/login/ajax.html", dataFilter:function(data,type) {console.log(data); console.log(type); }, error:function(data){ alert("出错了!!:"+data.msg); console.log(arguments); }, success:function(data){ alert("success:"+data.msg); $("#result").html(data.msg) ; console.log(arguments); } }); } </script> </head> <body> <input type="text" name="name" id="name"/> <input type="submit" value="登录" onclick="ajaxTest();"/> <div id="result"></div> </body> ``` controller代码: ``` @RequestMapping(value="ajax",method=RequestMethod.GET) public @ResponseBody Map<String,Object> login(HttpServletRequest request,HttpServletResponse response) throws IOException{ System.out.println(request.getParameter("name")); Map<String,Object> map = new HashMap<String,Object>(); if(request.getParameter("name").equals("123")){ System.out.println("成功"); map.put("msg", "成功"); }else{ System.out.println("失败"); map.put("msg", "失败"); } return map; } ``` 出现的错误 ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446625783_473960.png) ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446625795_726463.png) ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446625803_56744.png) ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446626003_354347.png)
页面直接显示了异步请求的json数据?
我在页面发送异步请求,后台对数据进行处理后返回json字符串,前台并没有进入到success或者error语句块,就直接显示了返回的json字符串。 异步请求: ``` jQuery.ajaxFileUpload({ secureuri:false, type : 'POST', url : 'web/contactsInfo/importExlSave', fileElementId : 'excelFile', dataType : 'json', data : { "projectId":${projectId} }, success : function(data) { if(data.state=='success') { toastr.success("人员导入完成!","系统消息"); $('#modal').modal('hide'); $('#tab').bootstrapTable('refresh', {url: 'web/contactsInfo/contactsInfoList?projectId=${projectId}'}); } else { toastr.error("人员导入出现异常!","系统消息"); } }, error : function(data) { toastr.error("系统发生异常!","系统消息"); } }); ``` 请求的处理方法 ``` public @ResponseBody Map<String,Object> importExlSave(MultipartFile excelFile,HttpServletRequest request,HttpServletResponse response){ String parameter = request.getParameter("projectId"); Map<String,Object> map = new HashMap<String,Object>(); map.put("state", "success"); map.put("message", "完成!"); return map; } ``` 关于将对象转成json字符串的配置 ``` <!-- 返回json格式配置开始 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 解决Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点的 json 报文 <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"> <property name="extractValueFromSingleKeyModel" value="true" /> </bean> --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list > <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean> <!-- 返回json格式配置结束 --> ``` 大概就是这样。 我提交请求后得到的响应是这样的: ![图片说明](https://img-ask.csdn.net/upload/201702/28/1488266497_61268.png) 跪求大神帮助 如果觉得我给的不够详细,可以提出来,我补充
ajax异步请求数据问题。。。看不出哪里错了。。。跪求大神指点。。。
我做ajax读取Excel表格里的数据。。。 **这是JAVA代码** java: ``` public static List<HashMap<Object,Object>> readExcel(String excelPath){ //声明一个集合用于存储解析出来的数据 List<HashMap<Object,Object>> maps = new ArrayList<HashMap<Object,Object>>(); //导入模板文件 String execelFile="D:\\MyEclipse 10\\Workspaces\\import\\WebRoot\\course.xls"; Workbook book =null; try { // 创建文件输入流 InputStream is = new FileInputStream(execelFile); // 获取Excel文件对象 book = Workbook.getWorkbook(is); // 获取制定的工作表,默认第一个 Sheet sheet = book.getSheet(0); // 获取行 int rows = sheet.getRows(); // 获取列 int cols = sheet.getColumns(); // 循环迭代内容 for(int i=0; i<rows; i++){ // 从第二行读取 i+=1; Cell[] cells= sheet.getRow(i); /*String title = cells[0].getContents(); String desc = cells[1].getContents(); System.out.println("行:"+(i+1)); System.out.println("tetle:"+title); System.out.println("desc:"+desc);*/ HashMap<Object,Object> map = new HashMap<Object,Object>(); map.put("tetle", cells[0].getContents()); map.put("desc", cells[1].getContents()); maps.add(map); } System.out.println(maps); } catch (Exception e) { e.printStackTrace(); System.out.println("文件导入异常!"); }finally{ if(book !=null){ book.close(); } } return maps; ``` 这是数据显示的页面: import.jsp ``` <%@page import="org.apache.struts2.json.JSONUtil"%> <%@ page language="java" import="java.util.*, com.yiyun.util.*" pageEncoding="utf-8"%> <% List<HashMap<Object,Object>> lists =importUtil.readExcel(null); out.print(JSONUtil.serialize(lists)); %> ``` 这是ajax异步请求数据显示页面: ajax.jsp ``` <html> <head> <meta http-equiv="Contrnt-Type" content="text/html"; charset="utf-8"> <title>大数据批量导入</title> <meta name="Keywords" content="关键词,关键词"> <meta name="description" content=""> <style type="text/css"> *{ margin:0;padding:0;} body{font-size:12px;font-family:"微软雅黑";color:#666;} .qq{width:800px;height:500px; margin: 70px auto; } .qq h1{font-size:24px;text-align:center;} .qq .upload{width:120px;height:36px;background:#0099cc;display:block;line-height:36px; text-align:center;color:#fff;text-decoration:none;margin:30px 0;border-radius:12px; font-size:16px;} .qq .upload:hover{background:#0094f7;} .qq .con{width:800px;height:500px;border-top:1px solid #a5a5a5; border-bottom:1px solid #6c6c6c;} .qq .con .list p{font-size:14px;line-height: 46px;} .qq .con .list{margin: 20px 0;} .qq .con .list:hover{background:#d8d8d8} </style> </head> <body> <div class="qq"> <h1>大数据批量导入</h1> <a href="#" class="upload">上传批量数据</a> <div class="con"> </div> </div> <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script> <script type="text/javascript"> $(function(){ alert(1); $(".upload").click(function(){ alert(2); $.ajax({ type:"post", url:"index.jsp", seccess:function(data){ var jdata = eval("("+data+")"); var html = ""; for(var i=0; i<jdata.length; i++){ html+="<div class='list'>"+ "<p>第"+(i+1)+"课名称"+jdata[i].title+"</p>"+ "<p>描述"+jdata[i].desc+"</p>"+ "</div>"; } $(".con").html(html); }, error:function(e){ alert("错误:"+e); } }); }); }); </script> </body> </html> ``` 点击上传批量数据时。。。数据没从Excel表中读取出来。。。这是为什么??请大神赐教
ajax请求上传文件一直报404,求救呀,各位大佬!!~~~~。
ajax请求上传文件一直报404,求救呀,各位大佬!!~~~~。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>金山项目</title> <script type="text/javascript" charset="utf-8" src="jquery/jquery.min.js"></script> <script type="text/javascript"> function uploadExcel(){ //导入文件 var formData = new FormData(); formData.append("file",$("#upload")[0].files[0]); $.ajax({ url:'/excel/insertExcel', type:'POST', data:formData, // 告诉jQuery不要去处理发送的数据 processData : false, // 告诉jQuery不要去设置Content-Type请求头 contentType : false, success:function(map){ alert(map.message); }, dataType:'json', }) } </script> </head> <body> <input id="upload" type="file" value="选择文件"/> <button onclick="uploadExcel()">点击上传</button> </body> </html> ``` @Controller @RequestMapping("excel") public class InsertExcelController { @Autowired private InsertExcelService insertExcelServiceImpl; /** * 导入Excel */ @RequestMapping("insertExcel") @ResponseBody public Map<String,Object> insertExcel(@RequestParam(value = "file",required = false)MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); String result = insertExcelServiceImpl.insertExcel(file); map.put("message",result); return map; } } ``` `````` ``` ```
ajax处理大量数据进度条超时 假死。
当处理数据量较大处理时间较长时,后台已经处理数据完成但前台的进度条不关闭一直在运行。 ![图片说明](https://img-ask.csdn.net/upload/201809/17/1537176363_708396.png) js代码 (function ($) { $.fn.loadUpload=function(options){ var options=$.extend(defaults,options||{}); var _this=$(this); var supportTransition = (function(){ var s = document.createElement('p').style, r = 'transition' in s || 'WebkitTransition' in s || 'MozTransition' in s || 'msTransition' in s || 'OTransition' in s; s = null; return r; })(); // WebUploader实例 var uploader; if ( !WebUploader.Uploader.support() ) { alert( 'Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器'); throw new Error( 'WebUploader does not support the browser you are using.' ); } // 实例化 uploader = WebUploader.create({ pick: { id: $(this), label: options.filename }, paste: document.body, accept: { title: 'files', extensions: 'xlsx', mimeTypes: '.xlsx' }, formData: { tradeid:options.myversion }, // swf文件路径 swf: base_url+"/static/plugins/ueditor/third-party/webuploader/Uploader.swf", disableGlobalDnd: true, chunked: true, server: base_url+"/importWorkProcedure/saveimport2", fileNumLimit: 1,//只允许上传一个 fileSizeLimit: 50 * 1024 * 1024, // 200 M fileSingleSizeLimit:50 * 1024 * 1024 // 50 M }); uploader.onFileQueued = function( file ) { } uploader.on( 'all', function( type ) { var stats; switch( type ) { case 'uploadFinished': $(_this).css({"display":"none"}) break; case 'startUpload': $(_this).attr('disabled',"true"); break; case 'stopUpload': break; } }); uploader.onFileQueued = function( file ){ var title=$("#myversion").find("option:selected").text(); layer.confirm('确定要导入【'+title+"】工序集?", { btn : [ '确定', '取消' ]//按钮 }, function(index) { layer.close(index); uploader.upload(); }); } // 文件上传成功,给item添加成功class, 用样式标记上传成功。 uploader.on( 'uploadSuccess', function( file,ret) { parent.layer.closeAll(); console.log(ret); $(options.fileurl).append("<a target='_blank' href='"+ret.refpath+"'>["+ret.refname+"]上传成功</a>") $(options.fileurl).append("<input type='hidden' id='myversion_' value='"+ret.myversion+"'/>"); $(options.fileurl).append("<input type='hidden' id='tradeid_' value='"+ret.tradeid+"'/>"); $(options.fileurl).append("<a style='margin-left:5px;' class='btn btn-danger' onclick='deleteimg();' >删除</a>") $(options.queuelist).hide(); }); // 文件上传过程中创建进度条实时显示。 uploader.on( 'uploadProgress', function( file, percentage ) { if(!$(options.queuelist+" .progress-bar").length){ $(options.queuelist).append('<div class="progress progress-striped active">' + '<div class="progress-bar" role="progressbar" style="width:100%">后台正在处理中,请耐心等待...' + '</div>' + '</div>'); } $(options.queuilist+" .progress-bar").css( 'width', percentage * 100 + '%' ); }); /** * 验证文件格式以及文件大小 */ uploader.on("error", function (type) { if (type == "Q_TYPE_DENIED") { layer.msg("请上传excel文件"); } else if (type == "Q_EXCEED_SIZE_LIMIT") { layer.msg("文件大小不能超过50M"); }else { layer.msg("请上传excel文件"); } }); deleteimg=function(){ var myversion=$("#myversion_").val(); var tradeid=$("#tradeid_").val(); var url=base_url+"/importWorkProcedure/deleteImportData.html"; $.post(url,{"myversion":myversion,"tradeid":tradeid},function(data){ if(data==true||data=="true"){ $(options.fileurl).html(""); $(_this).css({"display":"block"}); } },"json") } var defaults={ queuelist:".queueList", fileurl:"#fileurl", filename:"点击选择文件" } }; })(jQuery);
layui中dropdown的选择项怎么点击 跳转别的页面
![图片说明](https://img-ask.csdn.net/upload/201910/22/1571725083_125762.jpg) dropdown.render({ elem: $view.find('.action-more'), click: function (name, elem, event) { var checkStatus = table.checkStatus('talentTable'); // if (name === 'add') { // febs.modal.open('新增人才信息', 'system/talent/add', { // btn: ['上一步', '下一步','提交', '取消'], // btn1:function(){ // $("#preBtn").trigger('click') // return false; // }, // btn2:function(){ // $("#nextBtn").trigger('click') // return false // }, // btn3: function (index, layero) { // var msg = checkVaild() // if (msg != null) { // febs.alert.error(msg); // return false; // } // $('#talent-add').trigger('click'); // $query.trigger('click'); // // layer.closeAll(); // layer.msg("添加成功!") // return false // }, // btn4: function () { // layer.closeAll(); // return false; // } // }); // } //隐藏部分为点击出现弹窗的代码 if(name ==='add'){ parent.layui.index.openTabsPage('system/talent/add','新增人才信息'); } //以上为点击跳转tab页的代码,未实现,求方法 if (name === 'delete') { if (!checkStatus.data.length) { febs.modal.warn('请选择需要删除的人才信息'); } else { febs.modal.confirm('删除人才信息', '确定删除该人才信息?', function () { var talentIds = []; layui.each(checkStatus.data, function (key, item) { talentIds.push(item.id); }); deleteTalents(talentIds.join(',')); }); } } if (name === 'export') { var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); params.pageSize = $view.find(".layui-laypage-limits option:selected").val(); params.pageNum = $view.find(".layui-laypage-em").next().html(); febs.download(ctx + 'talent/export', params, '人才信息表.xls'); } if (name === 'template-download') { febs.download(ctx + 'talent/template', null, '人才数据表Excel导入模板.xls'); } }, options: [{ name: 'add', title: '新增', perms: 'talent:add' }, { name: 'delete', title: '批量删除', perms: 'talent:delete' }, { name: 'export', title: '导出Excel', perms: 'talent:export' }, { name: 'template-download', title: '模板下载', perms: 'talent:template' }] });
前端问题导入fusioncharts-suite-xt没有显示
``` <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="s" uri="/struts-tags"%> <% pageContext.setAttribute("basePath", request.getContextPath()+"/") ; %> <script type="text/javascript" src="${basePath}js/jquery/jquery-1.10.2.min.js"></script> <link href="${basePath}css/skin1.css" rel="stylesheet" type="text/css" /> ``` ``` <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //获取当前年份 Calendar cal = Calendar.getInstance(); int curYear = cal.get(Calendar.YEAR); //当前年份 request.setAttribute("curYear", curYear); List yearList = new ArrayList(); for(int i=curYear; i>=curYear-4;i--){ yearList.add(i); } request.setAttribute("yearList", yearList); %> <!DOCTYPE HTML> <html> <head> <%@include file="/common/header.jsp"%> <title>年度投诉统计图</title> </head> <script type="text/javascript" src="${basePath }/js/fusioncharts/fusioncharts.js" /> <script type="text/javascript" src="${basePath }/js/fusioncharts/fusioncharts.charts.js" /> <script type="text/javascript" src="${basePath }/js/fusioncharts/themes/fusioncharts.theme.fint.js" /> <script type="text/javascript"> //加载完dom元素后,执行 $(document).ready(doAnnualStatistic()); //根据年份统计投诉数 function doAnnualStatistic(){ alert("hh"); //1、获取年份 var year = $("#year option:selected").val(); if(year == "" || year == undefined){ year = "${curYear}";//默认当前年份 } //2、根据年份统计 $.ajax({ url:"${basePath }/nsfw/complain_getAnnualStatisticData.action", data:{"year":year}, type: "post", dataType:"json", success: function(data){ if(data != null && data != "" && data != undefined){ var revenueChart = new FusionCharts({ "type": "line", "renderAt": "chartContainer", "width": "600", "height": "400", "dataFormat": "json", "dataSource": { "chart": { "caption": year + " 年度投诉数统计图", "xAxisName": "月 份", "yAxisName": "投 诉 数", "theme": "fint" }, "data": data.chartData } }); revenueChart.render(); } else { alert("统计投诉数失败!"); } }, error: function(){alert("统计投诉数失败!");} }); } </script> <body> <br> <div style="text-align: center;width: 100%"><s:select id="year" list="#request.yearList" onchange="doAnnualStatistic()"></s:select></div> <br> <div id="chartContainer" style="text-align: center;width: 100%"></div> </body> </html> ``` ``` [Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive. VM67 complain_annualStatisticChartUI.action:69 Uncaught ReferenceError: doAnnualStatistic is not defined at HTMLSelectElement.onchange (VM67 complain_annualStatisticChartUI.action:69) onchange @ VM67 complain_annualStatisticChartUI.action:69 ListPicker._handleMouseUp @ about:blank:554 ```
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
程序员,职场上请远离这种人!
对有些职场人来讲,甩锅就是一种生存手段。01.从大学打篮球说起上大学的时候喜欢打篮球,然后我又特别喜欢抢篮板,经常是跳起来的时候没事,落下来的时候偶尔会踩到别人的脚上,于...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
一个读研让我损失了一百万的真实故事
关注我!只要10分钟,包你学会数据分析 毕业后,应该就业还是考研? 我刚出国留学那会儿,就惊讶的发现,外国local95%都不会选择读研 他们说,硕士学费很贵,时间宝贵,老板不认,所以很费 当几乎所有人都是本科学历时,硕士学历反而像个异类 在老板眼里,三年硕士远远不如3年的工作经验实用 他们甚至专门为拒绝高学历者发明了一个词,叫overoccupie...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
杭漂程序员2019的心路历程,还不起助学贷款,交不起房租,披荆斩棘终雨过天晴
一个杭漂2019的心酸历程,一路披荆斩棘终于还是雨过天晴。
我采访了同事,让他掏出了每天都会浏览的干货网站
前言只有光头才能变强。文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y在周六的晚上,我日常去到公司写文章。想写...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
春节不出门!这三款超好评编程游戏,好玩到停不下来
By 超神经场景描述:春节马上就要来临,在这个假期里,怎么能让自己放松,又不至于生疏了自己的老本行?不妨来玩一下编程向的小游戏吧,超神经在此整理了三款好玩有趣又有深度的游戏,快看看是不是...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
相关热词 c#如何定义数组列表 c#倒序读取txt文件 java代码生成c# c# tcp发送数据 c#解决时间格式带星期 c#类似hashmap c#设置istbox的值 c#获取多线程返回值 c# 包含数字 枚举 c# timespan
立即提问