validateSave()校验问题,求大神指导

代码如下:正常我没填写收货单位,他应该弹出“收货单位不能为空”,但是我点保存后,他就在那刷新页面。什么都不显示了。一直刷,为什么啊,求大神指导


public void validateSave()
    {
           List al = this.chuKu.ValiData();
           for (int i = 0; i < al.size(); i++)          {
             this.addActionError(al.get(i).toString());
            }
    }
 /*实现验证*/
    public ArrayList ValiData()
    {
         ArrayList al = new ArrayList();
        if (!TypeChange.toNotNull(this.shouHuoDanWei).equals(""))
                 {
                   if (this.shouHuoDanWei.length() > 100)
                   {
                     al.add("收货单位长度不能大于100个字符。");
                   }
                 }
                 else
                 {
                   al.add("收货单位不允许为空值。");
                 }
                 if (TypeChange.toNotNull(this.cheHao).length() > 50)
                 {
                   al.add("车号长度不能大于50个字符。");
                 }
                 if (TypeChange.toNotNull(this.guiGe).length() > 100)
                 {
                   al.add("规格长度不能大于100个字符。");
                 }
                if (TypeChange.toNotNull(this.huoWeiHao).length() > 50)
                         {
                           al.add("货位号长度不能大于50个字符。");
                         }

                 if (TypeChange.toNotNull(this.beiZhu).length() > 1000)
                 {
                   al.add("备注长度不能大于1000个字符。");
                 }
                 if (TypeChange.toNotNull(this.jieSuanDanHao).length() > 5)
                 {
                   al.add("结算单号长度不能大于5个字符。");
                 }
                 if (TypeChange.toNotNull(this.cheZhong).length() > 50)
                 {
                   al.add("车种长度不能大于50个字符。");
                 }
                 if (TypeChange.toNotNull(this.pinMing).length() > 50)
                 {
                   al.add("品名长度不能大于50个字符。");
                 }


          return al;
    }



  <div class="buttonDiv">
        <s:submit theme="simple" value="保存" action="Save" cssClass="button_style"/>
        <s:if test="chuKu.id>0">
            <s:submit theme="simple" name="Delete" value="删除" onclick="{if(confirm('确定删除纪录吗?')){this.document.formname.submit();return true;}return false;}" action="Delete" cssClass="button_style" method="dele"/>
        </s:if>
        <input type="button" class="button_style" value="返回"
               onclick="javascript:window.location.href='./List.action?pageLink=<s:property value="pager.pageLinkUrl"/>'"/>
    </div>

     <div class="validatemsg">
    <s:actionerror/>
    <s:fielderror/>
    <s:actionmessage/>
    </div>

    <table width="100%" class="listext" id="table1">
        <tr>
            <TH colspan="4" style="background:  #EBEBEB;height: 35px"> 出库管理</TH>
        </tr>

1个回答

开发者工具上 没啥报错么??

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
服务层对数据库字段的校验问题,大神帮忙
对于三条银行卡数据,例如建行,中行,工商,当我点击添加的时候如果数据库里有了上述数据的时候则不能加进行添加,则提示该银行卡已存在。如果没有则可以添加成功。这个校验怎么做的。 在服务层里面怎么加上这段代码,有点蒙。
jvm内存溢出,求大神指导
做了一个物流的信息对接平台,从下级平台获取车辆的gps信息采用tcp 长连接,200辆车没30秒刷新一次数据,跑了2天jvm 溢出了就大神指导下则么解决, ``` public class Serve { public static void main(String[] args) throws InterruptedException { EventLoopGroup bossGroup = new NioEventLoopGroup(); // (1) EventLoopGroup workerGroup = new NioEventLoopGroup(); ServerBootstrap b = new ServerBootstrap(); // (2) b.group(bossGroup, workerGroup) //设置协议类型 .channel(NioServerSocketChannel.class) //设置处理类 .childHandler(new ChannelInitializer<SocketChannel>(){ public void initChannel(SocketChannel ch) throws Exception { ch.pipeline().addLast(new ServeHandler()); } }) .option(ChannelOption.SO_BACKLOG, 128) .childOption(ChannelOption.SO_KEEPALIVE, true); ChannelFuture f = b.bind(40009).sync(); System.out.println("服务已启动"); f.channel().closeFuture().sync(); bossGroup.shutdownGracefully(); workerGroup.shutdownGracefully(); } ``` ``` public class ServeHandler extends ChannelHandlerAdapter{ HandlerExcutorPool excuPool=new HandlerExcutorPool(100, 500); //新建线程池 @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { try{ ByteBuf buf=(ByteBuf)msg; byte[] data=new byte[buf.readableBytes()]; buf.readBytes(data); if(data[0]==0x5b&&data[data.length-1]==0x5d){ byte[] content=new byte[data.length-2]; content=common.subBytes(data, 1, data.length-2); byte[] relCon=EscapedUtil.Escaped(content); byte[] headAndBody=new byte[relCon.length-2]; byte[] headArr=new byte[22]; //抽出数据头和数据体 for(int i=0;i<relCon.length-2;i++){ headAndBody[i]=(byte) (relCon[i]); if(i<22){ headArr[i]=(byte) (relCon[i]); } } //数据转义 //headAndBody=EscapedUtil.Escaped(headAndBody); //crc校验 int crc=GetCrc16_CCITT.GetCrc16_CCITT(headAndBody); //System.out.println(Integer.toHexString(crc)); int crc1=(relCon[relCon.length-2]&0xff)<<8|(relCon[relCon.length-1]&0xff); if((crc&0xffff)==(crc1&0xffff)){ //得到数据头的bean Head809 head=HeadService.get809Head(headAndBody); //业务分发 if((head.getMsg_id()&0xffff)==MegId.UP_CONNECT_REQ){ //登入请求 LoginService login=new LoginService(headAndBody); byte[] rebodyData=login.checkLogin(headAndBody,head.msg_gnsscenterid); // 检查用户名密码和接入码 headArr[8]=0x10; headArr[9]=0x02; byte[] relData=common.getRelData(headArr, rebodyData); //往客户端发送应答信息 ctx.channel().writeAndFlush(Unpooled.copiedBuffer(relData)); }else if((head.getMsg_id()&0xffff)==MegId.UP_DISCONNECT_REQ){ headArr[8]=0x10; headArr[9]=0x04; byte[] relData=common.getRelData(headArr); ctx.channel().writeAndFlush(Unpooled.copiedBuffer(relData)).addListener(ChannelFutureListener.CLOSE); }else if((head.getMsg_id()&0xffff)==MegId.UP_LINKTEST_REQ){ headArr[8]=0x10; headArr[9]=0x06; byte[] relData=common.getRelData(headArr); ctx.channel().writeAndFlush(Unpooled.copiedBuffer(relData)); }else if((head.getMsg_id()&0xffff)==MegId.UP_EXG_MSG){ excuPool.executor(new PositionService(headAndBody)); // 线程池 } } } System.gc(); }finally { ReferenceCountUtil.release(msg); } } ```
java 获取文件的真实类型(除了通过后缀,包头的等校验方式)
**最近开发余遇到一个很棘手的问题 客户平台的安全级别很高 对文件上传那一块非常严格 平台内图片上传前端做了一个后缀的校验, 后台做的是用包头的方式做校验,但是文件的包头还是可以通过特定工具去修改 所以这种方式不可取,除了这两种还有别的方式校验文件吗 ,求大神指导呀** ![图片说明](https://img-ask.csdn.net/upload/201908/06/1565082669_500886.png)
java报文解析!求大神指导!
大家帮我解析一下报文吧!我用的是UDP通信拿到数据,数据的类型是这样的S5W1449!p1r!p1r003B1s!S6WGGG00!p2r!p2r00003!p1r!p1r003B1s! 第0~2位为p1r或p2r,第3~6位为对应侧(p1r或p2r)的点位,第7位为状态位第8位为CRC校验位(将以上待发送的8位 异或)第9位为!结束位。 比如p1r!p1r003B1s!,我要拿到点位003B,要把它转化成十进制显示在我的界面画图!我要怎么解析报文!能写出具体函数最好,新人求解析!通信我已经做好了!
jsp+sevlet实现登录校验,为何校验时获取不到session里的值呢,求大神解答,万分感谢!
生成session: ![图片说明](https://img-ask.csdn.net/upload/201703/10/1489142868_172239.png) 此时能获得session中的值 校验部分: ![图片说明](https://img-ask.csdn.net/upload/201703/10/1489143199_621844.png) 此时输出session中的值,为null。 ![图片说明](https://img-ask.csdn.net/upload/201703/10/1489143252_1566.png) 并不是浏览器禁用cookie之类的问题。 求大神告知~~~~~
关于xsd校验xml的问题,跪求大神解答
< spxx>                 <sp key="MXXH" value="明细序号"/>               <sp key="SPMC" value="商品名称" /> < spxx>
js代码转换为java~求大神指教,下面这段js怎么用java写出来
``` // 获取access_token,自动带缓存功能 function get_access_token($token = '', $update = false) { empty ( $token ) && $token = get_token (); $info = get_token_appinfo ( $token ); // 微信开放平台一键绑定 if ($token == 'gh_3c884a361561' || $info ['is_bind']) { $access_token = get_authorizer_access_token ( $info ['appid'], $info ['authorizer_refresh_token'], $update ); } else { $access_token = get_access_token_by_apppid ( $info ['appid'], $info ['secret'], $update ); } // 自动判断access_token是否已失效,如失效自动获取新的 if ($update == false) { $url = 'https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=' . $access_token; $res = wp_file_get_contents ( $url ); $res = json_decode ( $res, true ); if ($res ['errcode'] == '40001') { $access_token = get_access_token ( $token, true ); } } return $access_token; } // 获取当前用户的Token function get_token($token = NULL) { $stoken = session ( 'token' ); $reset = false; if ($token !== NULL && $token != '-1') { session ( 'token', $token ); $reset = true; } elseif (! empty ( $_REQUEST ['token'] ) && $_REQUEST ['token'] != '-1') { session ( 'token', $_REQUEST ['token'] ); $reset = true; } elseif (! empty ( $_REQUEST ['publicid'] )) { $publicid = I ( 'publicid' ); $token = D ( 'Common/Public' )->getInfo ( $publicid, 'token' ); $token && session ( 'token', $token ); $reset = true; } $token = session ( 'token' ); if (! empty ( $token ) && $token != '-1' && $stoken != $token && $GLOBALS ['is_wap']) { session ( 'mid', null ); } //加校验,防止使用无权限的公众号 /*if(!$GLOBALS['is_wap'] && $reset){ if(empty($GLOBALS['myinfo'])) $token = -1; else{ $sql = 'SELECT public_id FROM `'.C('DB_PREFIX').'public_link` as l LEFT JOIN '.C('DB_PREFIX').'public as p on l.mp_id=p.id WHERE l.uid='.$GLOBALS['mid']; $list = M()->query($sql); $flat = false; foreach ($list as $value) { if($value['public_id']==$token){ $flat = true; } } if(!$flat) $token = -1; } }*/ if (empty ( $token ) ) { $token = -1; } return $token; } // 获取公众号的信息 function get_token_appinfo($token = '', $field = '') { empty ( $token ) && $token = get_token (); if ($token != 'gh_3c884a361561') { $info = D ( 'Common/Public' )->getInfoByToken ( $token, $field ); } return $info; } function get_authorizer_access_token($appid, $refresh_token, $update) { if (empty ( $appid )) { return 0; } $key = 'authorizer_access_token_' . $appid; $res = S ( $key ); if ($res !== false && ! $update) return $res; $dao = D ( 'Addons://PublicBind/PublicBind' ); if (empty ( $refresh_token )) { $auth_code = $dao->_get_pre_auth_code (); $info = $dao->getAuthInfo ( $auth_code ); $authorizer_access_token = $info ['authorization_info'] ['authorizer_access_token']; } else { $info = $dao->refreshToken ( $appid, $refresh_token ); $authorizer_access_token = $info ['authorizer_access_token']; } if (! empty ( $authorizer_access_token )) { S ( $key, $authorizer_access_token, $info ['expires_in'] - 200 ); return $authorizer_access_token; } else { addWeixinLog ( $info, 'get_authorizer_access_token_fail_' . $appid ); return 0; } } function get_access_token_by_apppid($appid, $secret, $update = false) { if (empty ( $appid ) || empty ( $secret )) { return 0; } $key = 'access_token_apppid_' . $appid . '_' . $secret; $res = S ( $key ); if ($res !== false && ! $update) return $res; $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&secret=' . $secret . '&appid=' . $appid; $tempArr = json_decode ( get_data ( $url ), true ); if (@array_key_exists ( 'access_token', $tempArr )) { S ( $key, $tempArr ['access_token'], $tempArr ['expires_in'] ); return $tempArr ['access_token']; } else { return 0; } } // 防超时的file_get_contents改造函数 function wp_file_get_contents($url) { return get_data ( $url, 30 ); } // 以GET方式获取数据,替代file_get_contents function get_data($url, $timeout = 5) { $msg = $flat = ''; if (strpos ( $url, 'http://' ) !== false || strpos ( $url, 'https://' ) !== false) { $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, $timeout ); curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE ); // 跳过证书检查 curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, FALSE ); // 不检查证书 $res = curl_exec ( $ch ); $flat = curl_errno ( $ch ); if ($flat) { $msg = curl_error ( $ch ); } curl_close ( $ch ); } else { $context = stream_context_create ( array ( 'http' => array ( 'timeout' => 30 ) ) ); // 超时时间,单位为秒 $res = file_get_contents ( $url, 0, $context ); } return $res; } ``` ``` ```
Structs2自定义拦截器实现用户登录中用户名的校验问题
自定义拦截器实现登录前的校验,用户名为:NIIT密码为NIITNIIT则登录成功, 否则回到登录页面。 以下为自定义拦截器中的实现函数运行时会显示**_if行有问题_**。求大佬告知以下代码有什么问题。 ``` 拦截器.java @Override public String intercept(ActionInvocation actionInvocation) throws Exception { String username = (String) ActionContext.getContext().get("username"); String password = (String) ActionContext.getContext().get("password"); if(username.equals("NIIT")&&password.equals("NIITNIIT")) return actionInvocation.invoke(); else return "login"; } ``` ``` Action.java import com.opensymphony.xwork2.ActionSupport; public class Demo extends ActionSupport { String username; String password; public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = password; } public String getPassword() { return password; } public String getUsername() { return username; } public String execute() { if(username.equals("NIIT")) return SUCCESS; else { System.out.println(username+password); return ERROR; } } } ``` ``` Struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="Demo" extends="struts-default" > <interceptors> <interceptor name="CS17" class="CS17Intp" /> <interceptor-stack name="MyStack" > <interceptor-ref name="defaultStack"/> <interceptor-ref name="CS17"/> </interceptor-stack> </interceptors> <action name="CS17" class="Demo" method="execute" > <result name="success">Hello.jsp</result> <result name="error">Error.jsp</result> <result name="login">index.jsp</result> <interceptor-ref name="MyStack"/> </action> </package> </struts> ``` ![图片说明](https://img-ask.csdn.net/upload/201911/21/1574310956_185851.png) ![图片说明](https://img-ask.csdn.net/upload/201911/21/1574310966_198080.png)
关于CRC校验的问题,真心求助,各路大神
对于要发送的数据进行crc校验,要求就是: 使用汉明码的生成多项式进行错误检测的 CRC(Cyclic RedundancyCheck)16bit CRC(CCITT))校验 CRC校验倒是蛮简单的,网上都有很多例子,但是这句话的意思是不是使用汉明码的生成多项式作为CRC校验的多项式来校验数据呢????? 比如这个例子: >@EEE00$00MMRD00,校验为BEF5,我反向遍历出他的CRC校验多项式是4b3,有没有大哥懂一点汉明码的生成多项式的知识的,真心求助!!!!!
C++ TLS通讯安全校验,证书校验
C++ TLS通讯安全校验,证书校验,有大神用过么,有没有demo或者三方的库什么的啊,给个链接什么的参考参考啊
python闭包问题,关于字典的解包
``` import time def decorate(func): print("我是外层") def wrapper(*num,**kwargs): print("正在校验中......") print(num,kwargs) print(**kwargs) time.sleep(2) print("校验完毕") func(*num,**kwargs) return(wrapper) @decorate def f1(num): print("---f1---",num) f1(18) @decorate def f2(a,b): print("---f2---",a,b) @decorate def f3(a,b="333"): print("---f3---",a,b) list2=["111","222","abc123"] # f2(list2[0],list2[1]) f3(list2[2],b="4444") ``` 代码如上,就是一个简单的万能装饰器的应用,这里主要说下f3这个函数,我在调用这个函数的时候,实际上就是调用的wrapper,**kwargs就把b="4444"装包成了一个字典,然后执行func的时候又把这个字典解包,这里就有一个问题,既然可以解包,那我在wrapper函数中加了一个print(**kwargs),就是想看下解包出来的东西输出是否是b="4444"这样的,但是加上这个以后就会报错,请问是为什么,我主要想看下,假如字典解包,他是一个什么样的格式传递的值的,谢谢
在异步串行通信中常常采用奇偶校验码判断通信数据的正确性,选择适当的集成电路,设计一个的奇偶校验电路。
在异步串行通信中常常采用奇偶校验码判断通信数据的正确性,选择适当的集成电路,设计一个的奇偶校验电路。 要求: 1、数据发送端和接收端都是8位数据位和1位校验位,在数据发送端和接收端各设一个单刀单掷开关用来选择奇校验和偶校验;数据传输的正确性,在数据的接收端采用发光二极管(LED)指示。设计的电路采用MULTISIM电路仿真软件进行仿真验证,并将仿真文件以附件形式上传。 2、写出完整的实验报告,主要包括:实验目的、实验原理、实验步骤、实验记录、实验结果、实验结论、讨论和分析等。(使用附件上传)
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> // 能帮我解决问题的才回复,或者还需要我提供什么的请留言,谢谢了,
利用面向对象思路,设计和完成“手机号注册校验”业务逻辑
你需要校验多种情况的用户输入,如: 测试一:138 1234 1234 结果:注册成功 测试二:13812345abc 结果:无法注册,提示非法手机号 测试三:13812345678 结果:注册成功 测试四:138 1234 5678 结果:已被注册 测试五:98765432101 结果:非法手机号码
求大神,求大神,求大神,求大神,spring配置多租户错误,去掉多租户配置不报错。
7-23 13:04:58,761 ERROR DriverManagerConnectionProviderImpl - HHH000152: JDBC URL was not specified by property hibernate.connection.url 07-23 13:04:58,801 ERROR ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/spring/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: HHH000152: JDBC URL was not specified by property hibernate.connection.url at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:684) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827) --------------------文件配置去掉多租户配置不报错 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"> <value>oracle.jdbc.driver.OracleDriver</value> </property> <property name="jdbcUrl"> <value>jdbc:oracle:thin:@localhost:1521:myoracle</value> </property> <property name="user"> <value>shulizhi</value> </property> <property name="password"> <value>shulizhi</value> </property> <!-- 连接池中保留的最小连接数。--> <property name="minPoolSize"> <value>5</value> </property> <!--连接池中保留的最大连接数。Default: 15 --> <property name="maxPoolSize"> <value>50</value> </property> <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 --> <property name="initialPoolSize"> <value>5</value> </property> <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime"> <value>30</value> </property> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement"> <value>5</value> </property> <!-- JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 <property name="maxStatements"> <value>0</value> </property> --> <property name="maxStatements"> <value>0</value> </property> <property name="maxStatementsPerConnection"> <value>100</value> </property> <!--每60秒检查所有连接池中的空闲连接。Default: 0 --> <property name="idleConnectionTestPeriod"> <value>60</value> </property> <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> <property name="acquireRetryAttempts"> <value>30</value> </property> <!-- 获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 获取连接失败后该数据源将申明已断开并永久关闭。Default: false --> <property name="breakAfterAcquireFailure"> <value>false</value> </property> <!-- 因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 等方法来提升连接测试的性能。Default: false <property name="testConnectionOnCheckout"> <value>false</value> </property> --> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.generate_statistics">true</prop> <prop key="hibernate.connection.release_mode">auto</prop> <prop key="hibernate.autoReconnect">true</prop> <prop key="hibernate.jdbc.batch_size">30</prop> <prop key="hibernate.multiTenancy">SCHEMA</prop> <prop key="hibernate.tenant_identifier_resolver">hotel.dao.hibernate.TenantIdResolver</prop> <prop key="hibernate.multi_tenant_connection_provider">hotel.dao.hibernate.SchemaBasedMultiTenantConnectionProvider</prop> </props> </property> <property name="mappingDirectoryLocations"> <list> <value>classpath:com/buddha/domain/</value> </list> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <context:annotation-config /> <tx:annotation-driven transaction-manager="transactionManager" /> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean="dataSource" /> </property> </bean> </beans>
JAVA String类型转byte类型 的问题
现在有一个String指令 ``` String a="01 03 03ed 0001"; ``` 我通过自己写的CRC转码方法将上述指令转码 ``` String a1=getCRC.getCRC(a); ``` 然后把两个字符串拼接起来 ``` String a2=a+" "+a1; ``` 然后获得各数值,其实就是去掉中间的空格,我就笼统的写一下。 ``` String h=a2.substring(0, 2); String h1=a2.substring(3, 5); String h2=a2.substring(6, 8); String h3=a2.substring(8, 10); String h4=a2.substring(11, 13); String h5=a2.substring(13, 15); String h6=a2.substring(16, 18); String h7=a2.substring(19, 21); ``` 然后将得到的字符串再拼接起来 ``` String h8=h+h1+h2+h3+h4+h5+h6+h7; ``` 得到的h8的数据为:010303ed0001147B 理想情况下需要呈现的buye数组为下面的方式 ``` byte b=new byte[]{ 0x01,0x03,0x03,(byte)0xed,0x00,0x01,0x14,(byte)0x7B }; ``` 现在尝试了很多种方法都无法变成上述样子,想来此求助一下,有没有大神指导一下。 补充代码中getCRC代码块 ``` public class getCRC { public static String getCRC(String data) { data = data.replace(" ", ""); int len = data.length(); if (!(len % 2 == 0)) { return "0000"; } int num = len / 2; byte[] para = new byte[num]; for (int i = 0; i < num; i++) { int value = Integer.valueOf(data.substring(i * 2, 2 * (i + 1)), 16); para[i] = (byte) value; } return getCRC(para); } /** * 计算CRC16校验码 * * @param bytes * 字节数组 * @return {@link String} 校验码 * @since 1.0 */ public static String getCRC(byte[] bytes) { // CRC寄存器全为1 int CRC = 0x0000ffff; // 多项式校验值 int POLYNOMIAL = 0x0000a001; int i, j; for (i = 0; i < bytes.length; i++) { CRC ^= ((int) bytes[i] & 0x000000ff); for (j = 0; j < 8; j++) { if ((CRC & 0x00000001) != 0) { CRC >>= 1; CRC ^= POLYNOMIAL; } else { CRC >>= 1; } } } // 结果转换为16进制 String result = Integer.toHexString(CRC).toUpperCase(); if (result.length() != 4) { StringBuffer sb = new StringBuffer("0000"); result = sb.replace(4 - result.length(), 4, result).toString(); } //高位在前地位在后 //return result.substring(2, 4) + " " + result.substring(0, 2); // 交换高低位,低位在前高位在后 return result.substring(2, 4) + " " + result.substring(0, 2); } } ```
xsd解析xml问题,跪求大神解答
<《spxx> <《sp key="MXXH" value="明细序号"/> <《sp key="SPMC" value="商品名称" /> <《sp key="SPBH" value="商品编号" /> <《sp key="GGXH" value="规格型号" /> <《sp key="JLDW" value="计量单位" /> <《sp key="SL" value="数量" /> <《sp key="DJ" value="单价" /> <《sp key="JE" value="金额" /> <《sp key="SLV" value="税率" /> <《sp key="SE" value="税额" /> <《sp key="HSBZ" value="含税标志" /> <《sp key="FPHXZ" value="发票行性质"/> <《sp key="FLBM" value="分类编码" /> <《sp key="XSYH " value="分类编码使用,享受优惠"/> <《sp key="YHSM" value="分类编码使用,优惠说明"/> <《sp key="LSLVBS" value="分类编码使用,零税率标识"/> <《sp key="ZZSTSGL " value="增值税特殊管理"/> <《sp key="KCE" value="扣除额,差额征税使用"/> <《/spxx> <《spxx>… <《/mxxx> 怎么样用xsd校验以上xml(包括长度和类型等),因为第一次用xsd,遇到这种混合的包含的就不会了,跪求大神解答
求大神帮写个js的金额校验正则表达式,急……谢谢
![图片说明](https://img-ask.csdn.net/upload/201712/22/1513936721_201662.png) 如图红框地方是个金额的输入框,两位小数,整数部分每三位加一个都逗号,求写一个正则表达式,判断输入的格式是否正确,谢谢了。
这个问题如何解决?求指导
5.中华人民共和国居民身份证号码由17位数字和1位校验码组成。其中,前6位为所在地编号,第7~14位为出生年月日,第15~17位为登记流水号,其中第17位偶数为女性,奇数为男性。效验码的生成规则如下: 将前面的身份证号码17位数字分别乘以不同的系数。第1~17位的系数分别为:7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,将这17位数字和系数相乘的结果相加,用相加的结果与11求模,余数结果只能是0,1,2,3,4,5,6,7,8,9,10这11个数字,它们分别对应的最后一位身份证的号码为1,0,X,9,8,7,6,5,4,3,2。 例如:如果余数是2,最后一位数字就是罗马数字X,如果余数是10,则身份证最后一位就是2. 请设计程序实现输入18为身份证号,辨别其真伪。若为真,则进一步判断性别;若不是18位或身份证号非法,则提示重新输入。 提示:定义如下两个元组,对输入字符串进行遍历。 factor=(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2) last=(“1”, “0”, “X”, “9”, “8”, “7”, “6”, “5”, “4”, “3”, “2”)
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
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)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
JDK12 Collectors.teeing 你真的需要了解一下
前言 在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图????): 管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将 downstream1 和 downstre...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
作者 | Google团队 译者 | 凯隐 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 本文中,Google 团队提出了一种文本语音合成(text to speech)神经系统,能通过少量样本学习到多个不同说话者(speaker)的语音特征,并合成他们的讲话音频。此外,对于训练时网络没有接触过的说话者,也能在不重新训练的情况下,仅通过未知...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
4G EPS 第四代移动通信系统
目录 文章目录目录4G 与 LTE/EPCLTE/EPC 的架构E-UTRANE-UTRAN 协议栈eNodeBEPCMMES-GWP-GWHSSLTE/EPC 协议栈概览 4G 与 LTE/EPC 4G,即第四代移动通信系统,提供了 3G 不能满足的无线网络宽带化,主要提供数据(上网)业务。而 LTE(Long Term Evolution,长期演进技术)是电信领域用于手机及数据终端的高速无线通...
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问