首页 文章 精选 留言 我的

精选列表

搜索[优化],共10000篇文章
优秀的个人博客,低调大师

论文 | 用迁移学习解释:电商网站的用户评论应如何优化排序?

小蚂蚁说: 2018年6月初,自然语言处理三大顶会之一NAACL (Annual Conference of the North American Chapter of the Association for Computational Linguistics)在美国新奥尔良举行,吸引了世界各地的自然语言处理等领域的学者参加。 据统计,NAACL今年共收到了长短论文1092篇,蚂蚁金服人工智能部也有一篇论文被录用《Cross-Domain Review Helpfulness Prediction based on Convolutional Neural Networks with Auxiliary Domain Discriminators》,作者:陈岑、杨寅飞、周俊、李小龙、鲍盛。论文链接:http://aclweb.org/

优秀的个人博客,低调大师

【用户体验优化课题(二)】你若义无反顾,我必全力以赴

1、从购买ECS谈起 弹性计算新版ECS购买控制台 为用户新购Ecs服务器提供了便捷的交互方式与丰富的功能选择。 用户最长需要经过5个页面的跳转,针对20项左右的配置选择,定制化自身所需的ECS云服务器。 用户最短需要经过3个页面的跳转,选择基础配置,网络配置和订单确认等10多个选项,快速下单购买。 2、快速发展的供给灾难 随着ECS业务不断发展,业务复杂度给产品供给造成了指数级复杂困扰 产品发展:然而随着ECS产品多样化(主售产品)与更新换代 (停售产品)。400种规格附加网络类型+磁盘类型 两个属性的组合已将产品SKU推送到了千级别。 地域发展:多样化地域与可用区 截至目前,阿里云已经在全球 18个地理区域内运营着45个可用区。千级别的产品SKU附加可用区产品内部署策略,供给复杂度已经上升到十万级别。 物理限制:由于机房容量固定,不可无限扩容

优秀的个人博客,低调大师

【Android游戏开发之十】(优化处理)详细剖析Android Traceview 效率检视工具

什么是TraceView?先看下百度出来的解释吧: Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。 关于Traceview的使用 首先,必须在程序当中加入代码,以便生成trace文件,有了这个trace文件才可以将其转化为图形。 要添加的代码如下: Java代码 // start tracing to "/sdcard/yourActivityTrace.trace" Debug.startMethodTracing("yourActivityTrace"); // ... // stop tracing Debug.stopMethodTracing(); // start tracing to "/sdcard/yourActivityTrace.trace" Debug.startMethodTracing("yourActivityTrace"); // ... // stop tracing Debug.stopMethodTracing(); Google Dev Guide当中说可以在activity的onCreate()中添加Debug.startMethodTracing(), 而在onDestroy()中添加Debug.stopMethodTracing(),但是在实际的测试时发现这种方式其实并不好用,因为通常情况下我们的activity的onDestroy()是由系统决定何时调用的,因此可能等了很长时间都不会得到这个trace文件。因此决定在onStop()中来调用Debug.stopMethodTracing()。这样当我们切换到其它activity或者点击home键的时候onStop()就会被调用,我们也就可以得到完整的trace file。 在运行程序之前,首先要保证我们的AVD是一个带有SD card的AVD,这样才能使trace文件保存到/sdcard/...当中。运行后可以任意做一些操作,然后点击home键。这是通过DDMS file explore就可以看到/sdcard/目录下有一个trace文件,现在把这个文件copy到电脑上指定的目录,假设是C:/tracefile 目录下。 可以通过命令行来执行traceview,进入tools目录后,执行 traceview C:/tracefile/yourActivityTrace.trace 之后就可以看到图形了,接下来就是按照Google Dev Guide中的解释去分析图形就OK了。 下面来看如何实现以及需要注意的地方: 实现的步骤分为三步:1.必须先在我们的模拟器中创建sdCard ;2.将我们的调试代码嵌入工程;3.利用TraceView来观察和分析代码情况; 1.对于创建模拟器的sdCard这里写出两种方式: 第一种:我们在eclipse中创建avd的时候的时候 在选择api下面有个 Sd Card 的选项,第一项填入创建sdcard的大小即可。 第二种:cmd 命令! 打开cmd 并且cd 到android sdk tool 路径下;(或者在环境变量Path中将sdk tool路径配置上,然后重新打开cmd) 使用mksdcard -l mycard 1024M F:/mysdcard.img创建了一个1G的sdcard; 使用emulator -avd my_android -sdcard F:/mysdcard.img激活sdcard! 最后在eclipse Preferences-->Android-->Launch加入-sdcardF:/mysdcard.img (此步骤就是在第一种创建方式中添加sdcard的支持) 备注1: 如果sdcard分配的空间太小,则程序追踪文件就一直记录到sd储蓄卡容量慢为止,所以调试前,要为程序生成一个适当的SD存储卡也较为重要,因为程序运行时间越长,这个追踪文件也就越大。 备注2; (如果第二种创建方式中的第二部激活出现 emulator: ERROR: the user data image is used by another emulator. aborting,请关闭模拟器,或者进入目录:/Documents and Settings / 用户 / .android /的AVD / *设备* / (比如我的目录是:C:/Documents and Settings/Administrator/.android/avd/android2.0.avd)然后删去以.lock结尾的文件夹就行(我简单解释下为什么要删除这些文件呢,其实.lock是加锁,如果程序崩溃等原因导致无法清除这些以.lock结尾的文件夹,就会出现这个问题,也就是这个avd的锁没有被释放,导致avd manager以为这个avd正在使用当中。)) 2.将我们的调试代码嵌入工程 正如我们百度到的说明一样,在程序运行的开端加上 Debug.startMethodTracing("yourActivityTrace"); 然后在onPause()中调用Debug.stopMethodTracing(); 为什么要将结束写在onPause()中而不写在onStop(),那么如果你去看api的话,你会看到,Api中介绍onPause()会在你返回和点击home按键后触发,而onStop()一般是由系统来触发,当该程序处于后台的时候,而且当内存紧张的时候,可能会调用,但是可能永远不会调用到! 备注:要记住当把调试代码加入项目中以后不要立即运行项目,而是必须在AndroidMainfest.xml中定义一条"写入SD卡的权限"那么添加权限的代码如下: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 因为咱们的调试代码会在SD卡中生成一个追踪文件,也就是往SD卡中写入了数据,所以需要声明一条权限。这里必须注意哦! <?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="com.himi" android:versionCode="1" android:versionName="1.0"> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-sdkandroid:minSdkVersion="4"/> </manifest> 3.运行项目并且退出项目从而得到的追踪文件,利用TraceView来进行分析代码运行状况: 打当正常运行了项目并且点击返回或者home按键就会在 sdcard中生成一个.trace的文件。sdcard 目录 在eclipse下,点击: windows-show view-other-android-File explorer 右上角的两个箭头,第一个表示从模拟器sdcard导出文件,第二个表示从PC上导入文件到sdcard中、“—”代表删除 ..... 然后我们通过cmd来运行生成的追踪文件traceview C:/name追踪文件所在的路径放在C盘,放在C盘以外别的盘的话我这里是无法正常打开traceview的不知道什么原因。 name 表示生成的.trace文件,cmd的时候不需要输入“.trace”后缀 ;然后会出现TraceView的分析窗口; 【cmd 命令! 打开cmd 并且cd 到android sdk tools 路径下;(或者在环境变量Path中将sdk tool路径配置上,然后重新打开cmd)】 注意1:如果出现一下图片这种内存溢出的问题; 解决方法:到SDK 下的tools 下 找到 traceview.bat 文件,鼠标右键-编辑(或者记事本打开),最后一行替换成这样: call java -Xms128m -Xmx512m -Djava.ext.dirs=%javaextdirs% -jar %jarpath% %* 注意2:如果出现路径不对的问题: 例如:我的 himi.trace 放在了C盘,那么我的cmd命令是: traceview c:/himi 然后回车! 但是这里要小心,因为 /h 这样可能被认为是转义字符!!!为了避免可以尽可能不要使用h,n,r,t,等等成为名字的头字母,当然还有一种就可以完全避免这种问题,例如还是我的C盘 himi.trace 文件,可以写cmd命令的时候写成: traceview c://himi 嘿嘿~要注意细节。 下面是运行起来的TranceView: 最右上角表示运行程序总共用了多少时间,从traceview画面中我们看到有各种颜色,每种颜色代表不同的函数和步骤,那么同一颜色的区域越大,就代表这个步骤运行时间越长,或者看到下面的统计表,明显可以看出除了序列 0 1 是系统函数外,2. 3.函数 占用的时间比较长,那么序列4是个自定义的函数名为 “hot”这个占用了几乎与主线程 主draw的时间一样了,那么肯定有问题。当然其实这个方法是我故意写的,就是为了来演示traceview。这个hot函数的代码如下: /** * @author Himi * @param canvas */ public void hot(Canvas canvas) { for (inti=1; i<100; i++) { Bitmapbmp=BitmapFactory.decodeResource(getResources(), R.drawable.icon); canvas.drawBitmap(bmp, i += 2, i += 2, paint); } } 很明显我在故意消耗内存和时间。 那么,在traceview的右半部统计字段中: Exclusive: 同级函数本身运行的时间 Inclusive 就是说除统计函数本身运行的时间外再加上调用子函数所运行的时间 Name:列出的是所有的调用项,前面的数字是编号,展开可以看到有的有Parent 和Children子项,就是指被调用和调用。 Incl: inclusive时间占总时间的白分比 Excl: 执行占总时间的白分比。 Calls+Recur Calls/Total: 调用和重复调用的次数 Time/Call: 总的时间。(ms) 所以traceview是个非常好的程序监视工具,可以帮助找出程序运行缓慢时的函数,让我们的代码不断完善和改进! 本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/606325,如需转载请自行联系原作者

优秀的个人博客,低调大师

基于阿里的Node全栈之路(二)阿里负载均衡的HTTPS优化方案

很多时候,我们习惯了自己做负载均衡,自己部署nginx,甚至是自己在代码里实现https。没错这些还是蛮能锻炼动手能力的,但重复造轮子这个话题~ 我的主题都是基于阿里云,所以默认各位看官都是用了阿里云的,既然是已经上云了,我觉得上云后的公司更应该是把精力放在业务上,其它方面交给云去处理。 不是我想要去夸阿里云,我自己也是考虑过换云的。今年3月份还是4月份的时候,阿里云在深圳的网络波动,导致我平台上几千个订单提交失败。合作方问我发生了什么事情,后来发现是深圳服务器的网络问题。那个时候,我就很郁闷,在朋友圈也发过类似“看来要迁移到XX云上了”。现在还在写这篇文章,大家就知道了,我没迁,我花了一个月的时间试了国内大部分的云,华为云和腾讯云我都试过了,还有百度云,甚至一些偏门的云都试了一遍,具体就不比较了,有兴趣的童鞋可以私聊我,我看下是否要出一篇文章来对比这些平台。 嗯,上面扯偏了,现在来聊下负载均衡~ 结构 简单吧?自己的业务完全不考虑https的存在,把https的解析交给负载均衡就好了,有啥好处呢? 价格更便宜,比部署在自己的ecs上,具体我就不算了,像我这种个人开发者,那是一毛钱都要精打细算的。(如果大家对怎么节省费用很在意的话,我可以再出一篇精打细算阿里云过日子的方法。) 稳定性和可靠性高 部署 准备工作 申请https,在 阿里云盾 就可以申请到免费的https,如果没部署过https的话,最好还是用免费的先试试,那个审核很快的,我曾经半夜1点多买了免费证书提交审核,半个小时,竟然审核成功了(orz,让我怀疑这是真人审核吗?如果是真的,阿里的童鞋也太勤奋了吧(orz 下载证书,在云盾界面有个 下载证书for Nginx 字样的按钮,就是它了! 把刚刚写在的东西,解压后用文本打开(pem就是证书内容,key就是秘钥),然后在在阿里云负载均衡添加证书。 接下来的操作流程,阿里有文档了。

优秀的个人博客,低调大师

空间索引(GiST、BRIN、R-Tree)选择、优化 - 阿里云RDS PostgreSQL最佳实践

标签 PostgreSQL , Greenplum , PostGIS , GiST , R-Tree , BRIN , 相关性 , 网格 , BOX , K-Mean 背景 空间数据的搜索需求通常包括: 1、平面、三维、多维对象 几何相交、不相交、相邻。 2、平面、三维、多维对象的方位判断(相交或严格在左边、右边、上边、下边),类似数值的大于、小于、大于等于、小于等于。 3、平面、三维、多维对象 包含 另一个对象 4、平面、三维、多维对象 等于 另一个对象 5、平面、三维、多维对象 与另一个对象的(边、最近、中心点的)距离,按距离排序输出满足条件的行,输出距离在XX以内的行。 操作符如下 http://postgis.net/docs/manual-2.3/reference.html#Operators && — Returns T

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册