今日要闻:

淘宝删差评产业链

在你给出“差评”“中评”后不久,有人会偷偷登录你的淘宝账户,把你之前给过的评价删除或改成“好评”。而这种人就是“职业修改差评师”

 案发前,李骏杰在杭州市滨江区一家科技公司上班。5 人当中,他主要负责通过 QQ 在网上联系需要修改“中评”和“差评”的淘宝卖家,改一个评价收费 260 元。

  李骏杰把这些信息传给他的下线,即在广东打工的黄福权、王凤昭,黄、王二人再把信息反馈给在江西某市公安系统工作的胡榕,由他利用自己的职务便利查明买家的身份证信息,之后把信息以每条 15 元至 25 元不等的价格卖给黄、王二人。

  收到胡榕给的买家身份证信息后,黄、王二人以每条 15 元的价格让河北石家庄人董伟“PS”出身份证复印件,再把复印件以每件 45 元的价格转卖给李骏杰。有了买家的身份证复印件,李骏杰就可以利用技术手段,冒充淘宝买家身份骗取该买家的淘宝账号并重置密码,最后非法登录淘宝评价系统删除或修改“中评”“差评”。

“追求‘好评’固然好,但 100% 的‘好评’大多是不符合事实的。”一位“资深”淘宝用户对记者说,“即便是买家出于个人意愿给出‘差评’,卖家也会要求对方改成‘好评’,或以返利来诱惑,或用谩骂、威胁等卑劣手段。说到底,是淘宝卖家对买家‘差评’的过度在意催生了‘职业修改差评师’和‘恶意差评师’的存在。”这位淘宝用户总结分析说。

今日英文:

http://docs.oracle.com/cd/E11882_01/java.112/e16548/apxref.htm#JJDBC28913

Oracle jdbc 转义语法(SQL92):

关闭转义可以提高性能  stmt.setEscapeProcessing(false);

日期字面量  {d '1995-10-22'} 会自动转为数据库类型

时间字面量  {t '05:10:45'} 或 {t '14:20:50'} 自动转24小时制

或  {ts '1982-01-23 12:00:00'}

一般来说 Oracle类型oracle.sql.DATE会自动映射为java.sql.Timestamp 这是正确的,不要修改

设置mapDateToTimestamp=true 可以映射为java.sql.Date 但会有精度下降

特殊的,如果这个Date列恰好有个索引,要用特殊的setObject,无论setDate还是setTimestamp结果都不正确(略)

对’_’和’%’转义:

  WHERE ename LIKE '&_%' {ESCAPE '&'}  表示以下划线开头的任意字串
  WHERE ename LIKE '\\_%' {escape '\\'} 同上
Oracle不支持转义Outer Join写法,
  如 FROM {OJ dept LEFT OUTER JOIN emp ON dept.deptno = emp.deptno
  应写为 FROM emp b, dept a WHERE a.deptno = b.deptno(+)

调用存储过程  { call procedure_name (argument1, argument2,...) }

调用函数  { ? = call procedure_name (argument1, argument2,...) }

driver.processSqlEscapes("{ts '1998-10-22 16:22:34'}")
  将输出 TO_TIMESTAMP ('1998-10-22 16:22:34', 'YYYY-MM-DD HH24:MI:SS.FF')

Oracle存储过程不支持Boolean类型的参数和返回值,通常要自己转为int或其他来判断

Oracle不支持java.sql.SQLWarning,应该用java.sql.SQLException

DDL语句应该用Statement执行,如果用preSta或callSta则只会在首次执行

SELECT name FROM emp WHERE id = :EmpId  命名参数可以用setXXXAtName
 

技术区:

JavaWeb高性能开发(一)

事实证明,与其消耗大量时间在服务器端,在前端进行的优化更易获得用户的肯定。

前端的高性能部分,主要是指减少请求数、减少传输的数据以及提高用户体验,在这个部分,图片的优化显得至关重要。

1.减少图片的大小,可以明显的提高性能,而对于已有图片,要想减少图片的大小,只能改变图片的格式,这里推荐的是 PNG8 的格式

2.CSS Sprites 是一个吸引人的技术,它其实就是把网页中一些背景图片整合到一张图片文件中,再利用 CSS 的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position 可以用数字能精确的定位出背景图片的位置。

很好地减少网页的 HTTP 请求,从而大大的提高了页面的性能

由于图像合并后基本信息不用重复,那么多张图片合并成 1 张图片的字节往往总是小于这些图片的字节总和。

只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率

只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变

图片的请求数就被缩减到 1 个。其他的请求都可以用到本地缓存

3.有时候,图片数据太多,一些公司的解决方法是将图片数据分到多个域名的服务器上

一方面是将服务器的请求压力分到多个硬件服务器上

另一方面,是利用了浏览器的特性。一般来说,浏览器对于相同域名的图片,最多用 2-4 个线程并行下载。不同浏览器的并发下载数,都是不同的

多域名的下载固然很好,但是太多域名并不太好,一般在 2-3 个域名下载就差不多

4.要是图片的下载不用向服务器发出请求,而可以随着 HTML 的下载同时下载到本地那就太好了

而目前,浏览器已经支持了该特性,我们可以将图片数据编码成 BASE64 的字符串,使用该字符串代替图像地址

从现实我们接触的角度看,如一些在线 HTML 编辑器,里面的小图标,如笑脸等,都使用到了 BASE64 编码,因为它们非常小,数量多,BASE64 可以帮助网页减少图标的请求数,提高效率

5.压缩是一个不错的选择,而 HTTP 协议支持 GZIP 的压缩格式,服务器响应的报头包含 Content-Encoding: gzip

<Connector  port ="80"  maxHttpHeaderSize ="8192"
maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75"
enableLookups ="false" redirectPort ="8443" acceptCount ="100"
connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml" />

在高并发的情况,多个 Tomcat 服务器之前,需要采用反向代理的技术,提高并发度,而目前比较火的反向代理是 Nginx

gzip  on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_types text/plain application/x-javascript text/css text/html application/xml;

6.预加载原理是在用户查看一张图片时,就将下一张图片先下载到本地

而懒加载则是在用户需要的时候再加载。当一个网页中可能同时有上百张图片,而大部分情况下,用户只看其中的一部分

Lazy Load Plugin for jQuery 是基于 JQuery 的懒加载组件

非技术:

如何把技术讲得通俗易懂:

1.先做市场分析。想明白以下问题:

  • 你的受众是谁?

  • 他们具备怎样的知识储备?
  • 你要兜售的技术解决了他们的什么问题?(向老板解释技术问题也算一种兜售)
  • 有没有现成的技术方案解决类似的问题?
  • 如果没有现成的同类方案,为什么没有?是因为你对问题定义不清晰,还是不存在这种需求?
  • 如果有现成的同类方案,那你兜售的技术和已有解决方案相比较,优缺点如何?

2.包装你的「产品」。可选的方法有很多,

比如假设你文学造诣不错,且你对受众的心理有相对精准的把握,大可以讲个漂亮的故事

文字功底一般,其实也不要紧,那咱就不讲故事,讲道理。把核心的概念按照合适的方式组织起来,用通俗易懂的语言去描述

3.分清主次。判断哪些部分是重要的,应当着重讲;哪些部分是次要的,时间有限或者为了减少复杂度可以忽略不讲

4.条理清晰、层次分明。能否从错综复杂的关系和概念网络中划清边界取决于你自己的抽象能力

就好像写程序一样,有的人写一个方法/函数四五屏都不够用,而大牛的写法常常是分解为若干不相关的子方法/函数。

5.还得根据实际情况时不时抖个机灵、讲个笑话,把出窍的灵魂给捉回来

6.多用简单短句,少用复杂长句

7.多用比喻。我觉得,无论是否技术,这都能得到不错的效果。

JavaWeb高性能开发(一)的更多相关文章

  1. javaweb的开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  2. Java Web高性能开发(三)

    今日要闻: Clarifai:可识别视频中物体 最近几年,得益于深度学习技术的发展,谷歌和Facebook等企业的研究人员在图形识别软件领域取得了重大突破.现在,一家名为Clarifai的创业公司则提 ...

  3. Java Web高性能开发(二)

    今日要闻: 性价比是个骗局: 对某个产品学上三五天个把月,然后就要花最少的钱买最多最好的东西占最大的便宜. 感谢万能的互联网,他顺利得手,顺便享受了智商上的无上满足以及居高临下的优越感--你们一千块买 ...

  4. Java Web 高性能开发,第 3 部分: 网站优化实战

    这个系列的前两篇,介绍了前端的优化技术,这些技术秉承了前人至高无上的智慧,我只是负责吸收和传播.然而,这些技术一般也都是某某大型网站的技术经验,我们大部分人或许只能接触到相对小规模的网站,小规模的网站 ...

  5. .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)——转载

    原文链接:https://blog.walterlv.com/post/dotnet-high-performance-reflection-suggestions.html ***** 大家都说反射 ...

  6. JavaScript高性能开发的十条建议

    JavaScript高性能开发的十条建议 文/开发部 Dimmacro 编者按:javascript开发大部分程序员都做过,写出来的代码质量也千差万别,现在浏览器内嵌的解释器虽然效率已经很高了,但在客 ...

  7. Java Web 高性能开发,前端的高性能

    Java Web 高性能开发,第 2 部分: 前端的高性能 Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.Web 的思想是 ...

  8. 2017.11.6 JavaWeb-----第七章 JavaWeb常用开发模式与案例

    JavaWeb-----第七章 JavaWeb常用开发模式与案例 (1)单纯的JSP页面开发模式 通过在JSP中的脚本标记,直接在JSP页面中实现各种功能.称为"单纯的JSP页面编程模式&q ...

  9. JavaWeb:前端开发基础

    JavaWeb:前端开发基础 内联元素和块级元素 说明: 联元素和块级元素都是html中的范畴,块元素和内联元素的主要差异是块元素是从新的一行开始.而内联元素一般显示在一行上.但是可以通过css的di ...

随机推荐

  1. Android里的多线程知识点

    1.Thread类与Runnable接口 子类继承Thread类实现跑自己逻辑的run方法,在调用Thread类的start方法后,会自动调用run方法,该对象只可以调用一次start方法,即Thre ...

  2. 标准类型内建函数 str()和 repr() (及 `` 运算符) 简单介绍

    内建函数 str() 和 repr() 或反引号运算符(``) 可以方便的以字符串的方式获取对象的内容.类型.数值属性等信息.str()函数得到的字符串可读性好, 而repr()函数得到的字符串通常可 ...

  3. 自动化测试之python安装

    1.首先访问http://www.python.org/download/去下载最新的python版本. 2.安装下载包,一路next. 3.为计算机添加安装目录搭到环境变量,如图把python的安装 ...

  4. Web Servers in Visual Studio for ASP.NET Web Projects

    https://msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx When you develop web projects in Vi ...

  5. dotfuscator初步

    从此链接下载的http://www.uzzf.com/soft/85836.html 1.安装之前,先去控制面板将VS自带的dotfuscator卸载掉 2.关闭360安全卫士 3.安装下载的程序 安 ...

  6. Back to Back Order Process

    Steps involved involved in back to back order process in oracle apps 1. Enter Sales Order 2. Book Sa ...

  7. OracleApps 什么是Back to Back Order?

    什么是Back to Back Order? 简单的说,B2B是我们从供应商那拿货,然后收到货后,再发运给客户.. B2B Flow B2B的例子 1.Item的定义 Item Should be c ...

  8. 10.10 dos试验

    一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法: (4)掌握C语言编程初步. 二. 实验内容和要求 编写类似于DOS,UNIX的命令行解释程序 (1 ...

  9. 51nod1757 大灾变

    能想到二分答案+最大流判断是否符合.但是不知道如何建图qaq.参考的是http://blog.csdn.net/fsss_7/article/details/52132046的建图方法 #includ ...

  10. Excel 之查找与替换

    Excel查找与替换 1,一旦学会查找,替换就简单了. 2,查找下面有一个选项,里面有对查找的范围进行限制 3,你可以选中一个区域,然后再查找,查找只会在你选择的区域里面进行 4,查找只能找特定值,而 ...