博文

机器慢慢学(一)

年老色衰,等待辞退? 信息行业不断发展,它不再是一个新兴行业,开始以水电煤的形式出现在我们身边.目前我们的一部分开发同学依然将所执行的开发工作作为传统行为的信息化\自动化,开发的是一个业务规则的专家系统.殊不知面向数据的开发已经来到我们身边,基于数据的开发工作已经不是数据工程师的专属,每一个开发同学都应该知道一些机器学习的思想,并利用到工作中. 懂业务也要懂数据 数据是衡量业务的标准,是推动业务前进的动力之一.所以为了业务做得更好,为了拿到更好的结果.我们需要会看数据,会用数据,用好数据. 因此我从现在开始学习机器学习的相关知识,并每周进行记录. 目前学到的内容 春节假期间,把吴恩达的所有视频全部看了一遍,整体感觉算是偏基础\介绍\学术层面的入门视频,可以帮助我们从学术与工程实际层面均有一个大概的认知,了解如下几个较为核心的概念: https://www.bilibili.com/video/av50747658?p=1 价值函数 监督学习 线性回归 逻辑回归 神经网络 支持向量机 核函数 无监督学习 聚类 协同过滤 高斯分布 虽然比较偏基础,但在1.5倍速的情况下,看完一遍还是比较蒙圈的,准备在工作实际中有一点体会和使用经验之后再看一遍 在初步建立一个认知情况后,主要从偏工程化,功利化的角度学习Tensorflow,目前主要根据google官网的引导教程进行学习: https://colab.research.google.com/notebooks/welcome.ipynb#scrollTo=-Rh3-Vt9Nev9 。 在从来没有用过python的情况下来学习这个确实有点麻烦,但该教程的任务都是比较具有工程意义,并且需要在弄懂以实现的能力基础上,才能够完成任务的,目前比较具有学习的动力。 在教程中,已经了解到TF基本的使用方案在于定义输入源,调用成熟函数计算模型,使用模型进行预测,并对预测使用均方根误差来评估预测质量

利用AJAX和history.replaceState无刷新的改变页面URL

图片
  在以往我们需要改变URL的参数时,我会通过修改  window.location.search  来实现。但这必然会导致页面的再次刷新,这不是我们想看到的结果。 最近我的项目中由于一个基础库的bug(短时间内还没办法去修改(〃>皿<))必须通过修改url参数来实现一些功能,需要增加的参数存储在  sessionStorage.dataSearch  中,具体代码如下: if(location.search.length == 0) { if(history.replaceState) { history.replaceState(null,null,sessionStorage.dataSearch); } else { location.search = sessionStorage.dataSearch; } }   说到这个  history.replaceState  我们就不得不提  history.pushStat  和  history.replaceState  这些API了。 API的使用    pushState  是将指定的URL添加到浏览器历史里,  replaceState  是将指定的URL替换当前的URL。 var state = { title: title, url: options.url, otherkey: othervalue }; window.history.pushState(state, document.title, url); 响应浏览器的前进、后退操作    window  对象上提供了  onpopstate  事件,上面传递的  state  对象会成为  event  的子对象,这样就可以拿到存储的title和URL了。 window.addEventListener('popstate', function(e){ ...

Spring MVC中Hibernate-validator的使用

  当我们在写具体业务功能的时候,入参校验是不可或缺的一部分,所以我们的项目逻辑中就会存在大量书写  null!=object  的情况。   为了能够优雅的解决这个问题,我们在项目选择引入 Hibernate Validator   来执行常见的参数校验,而一些含有逻辑的,比如根据用户ID确认人员是否存在只能靠我们自己逻辑去判断了。 一、验证器的引入与配置   在Spring MVC中,任何支持JSR-303,JSR-349的validator都能够通过简单的配置引入,我们只要引入POM并设置好配置项就可以。 <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-validator</artifactid> <version>5.4.1.Final</version> </dependency>   我们使用的是其相关简化的配置,没有配置具体的提示语,只要能把具体的参数问题抛出就可以了,毕竟是面向开发的一个项目,没必要做得这么人性化: <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/> </bean> <bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"> <property name="validator" ref="validator" /> </bean>   当然如果有国际化的需要的,可以增加如下的语言配置...