cf

mysql查询最近连续登录和累计登录

試著忘記壹切 提交于 2019-12-09 19:08:29
这条sql写了一天,百度无数,终于摸到点门路 需求是查询从当前日期向前推的连续登录,比如一个用户他今天登录了,昨天没登,连续登录为1 他昨天前天都登录了,今天没登录,连续登录为0 SELECT user_id, MIN(created_ymd) as start, MAX(created_ymd) as end, (MAX(created_ymd)-MIN(created_ymd))+1 as day_rank #最大的连续日期减去最小的日期=连续登录天数 FROM ( SELECT user_id, created_ymd, IF ( @user_id = created_ymd , @rn := @rn + 1, @rn := 1 ) AS con_col, @rwn :=@rwn + 1 AS help_col , @user_id := created_ymd + 1 FROM (SELECT * from datacenter.prod_ods_useronlinetime GROUP BY user_id,created_ymd )d, #先把数据格式优化下,去掉重复数据,因为这个表里一个用户会有多条重复数据,只是时分秒不一样,主要是用来统计用户在线时长的 (SELECT @user_id := '' ,@rn := 0 ,@rwn := 0 ) a #WHERE

腾讯面试官问我Java中boolean类型占用多少个字节?我说一个,面试官让我回家等通知

北慕城南 提交于 2019-12-08 10:54:43
本文首发于微信公众号:程序员乔戈里 什么是boolean类型,根据 官方文档的描述 : boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined. 谷歌翻译一下: 布尔类型:布尔数据类型只有两个可能的值:真和假。使用此数据类型为跟踪真/假条件的简单标记。这种数据类型就表示这一点信息, 但是它的“大小”并不是精确定义 stackoverflow就有关于boolean占几个字节的讨论。 what-is-the-size-of-a-boolean-variable-in-java 其中有一个高赞回答: /** *出自公众号:程序员乔戈里 */ class LotsOfBooleans { boolean a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af; boolean

DES 加密解密算法 python 版

杀马特。学长 韩版系。学妹 提交于 2019-12-07 09:41:02
前言: 工作需求:所有参数(数据库连接,服务器连接,都不能使用明文传参),所以需要一个加密解密算法,本来是想写 AES 的,但是 python 环境下各种改东西调试,好烦,所以退而求其次用 DES; DES 算法写了 java 版和 python 版,这个是 python 版,java 版可以在我的博客里找一下。 java版 1.直接上代码 #!/usr/bin/python # -*- coding: utf-8 -*- import binascii from pyDes import des, CBC, PAD_PKCS5 def des_encrypt(secret_key, s): iv = secret_key k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) en = k.encrypt(s, padmode=PAD_PKCS5) return binascii.b2a_hex(en) def des_decrypt(secret_key, s): iv = secret_key k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5)

【Cloud Foundry 应用开发大赛】“八卦街”图片采集应用

别来无恙 提交于 2019-12-07 08:20:09
应用名称:八卦街 投 票支持 应用URL地址: http://baguajie.cloudfoundry.com/ 应用说明及使用场景: 八卦街是一个类Pinterest的图片采集应用,用户可以从网上提取自己喜欢的图片采集至八卦街。八卦街与其他类Pinterest的应用的不同之处在于集成了基于地理位置的社交元素(LBS+SNS)。这也使得八卦街的应用范围有很强的弹性,从公益的角度来讲我们我可以将其应用于打拐,呼救;从商业的角度来讲,可以用于图片兴趣社区,美食向导等各类生活服务。 八卦街是一款开源应用,目前由本人独立开发,从前端到后端。为了便于拼图上传,本人正在开发一款开源的 拼图工具 ,类似于微博的模板拼图组件,此外iOS客户端已经列入下一步的开发计划。感兴趣的同学可以从github上直接Fork八卦街 https://github.com/tshi0912/baguajie.git 应用所使用的技术及软件: 前端采用Twitter Bootstrap框架,Google Map API 3. 服务端符合JAVA EE规范,web层使用Spring MVC, Restful URL,数据层使用Spring Data。 数据库采用的是MongoDB, 同时在Cloud Foundry上实践了Mongodb文件存储方案GridFS.(图片文件都是存储在Cloud

【Cloud Foundry 应用开发大赛】“八卦街”后台管理系统

回眸只為那壹抹淺笑 提交于 2019-12-07 08:19:58
应用名称:八卦街管理控制台 应用URL地址: http://baguajie-admin.cloudfoundry.com/ 应用说明 及使用场景: 上篇博文 【Cloud Foundry 应用开发大赛】“八卦街”图片采集应用 发表2天之内就获得了4000+的阅读量,大大出乎了我意料,很多热心的朋友给我提出了很多很好的建议,在这里向大家表示感谢。其中一位朋友@ 恺哥 提到:“这样的应用如何避免用户上传‘H图片’?”我的回答是人肉,据我所知很多大公司对图片的审核还是采用人肉的方式,毕竟光靠算法还很难做到完全准确的过滤‘H图片’。同样这个提醒也让我意识到‘八卦街’也必须要有自己的后台管理系统,虽然只是一个小应用,OSC的朋友的素质都很不错,但是遇上‘H图片’还是比较尴尬的事情。 围绕如何构建这个后台管理系统,我想她应该足够简单。“八卦街”是一个典型的UGC网站,用户可以任意的贴图和评论。用户目前能够创造的内容不外乎"采集的图片",“评论”以及“注册用户”本身,当然还包括他的头像,所以这个管理系统只需要能够管理“采集”,“评论”以及“用户”就已经足够了。 应用所使用的技术及软件: 后台管理系统我用了2天的时间基本搭建完毕,前端技术选择上我使用自己最拿手同时也足够成熟的Flex。选择Flex作为管理系统的前端也是比较合适的。其一:管理系统的用户比较单一,人群比较特定

如何对SAP Leonardo上的机器学习模型进行重新训练

独自空忆成欢 提交于 2019-12-06 22:02:15
Jerry之前的两篇文章介绍了如何通过Restful API的方式,消费SAP Leonardo上预先训练好的机器学习模型: 如何在Web应用里消费SAP Leonardo的机器学习API 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费 当时Jerry提到,Product Image Classification API只支持29种产品类别: 如果我们开发应用时需要支持额外的产品类别,就得需要自行提供该产品类别的图片并重新训练。 下面是SAP Leonardo上机器学习模型的重新训练步骤。 假设我们期望重新训练之后,Product Image Classfication这个模型能够识别出不同种类的花,那么我们首先得搞到大量花的图片。Tensorflow的官网上,已经体贴地给想做模型训练的学习者们,提供了一个做练习用的压缩包,里面包含了大量各式花的图片。 http://download.tensorflow.org/example_images/flower_photos.tgz SAP Leonardo接受的能用于重新训练模型的数据集,必须符合下列的层级结构,即training, validation和test三个文件夹下面,分别包含以产品类别命名的字文件夹,且数据规模之比为8:1:1. 有了用于训练的数据后,下一步就是把这些数据上传到SAP

DES 加密解密算法 python 版

青春壹個敷衍的年華 提交于 2019-12-06 17:36:26
前言: 工作需求:所有参数(数据库连接,服务器连接,都不能使用明文传参),所以需要一个加密解密算法,本来是想写 AES 的,但是 python 环境下各种改东西调试,好烦,所以退而求其次用 DES; DES 算法写了 java 版和 python 版,这个是 python 版,java 版可以在我的博客里找一下。 java版 1.直接上代码 #!/usr/bin/python # -*- coding: utf-8 -*- import binascii from pyDes import des, CBC, PAD_PKCS5 def des_encrypt(secret_key, s): iv = secret_key k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) en = k.encrypt(s, padmode=PAD_PKCS5) return binascii.b2a_hex(en) def des_decrypt(secret_key, s): iv = secret_key k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5)

【CF 应用开发大赛】享途网,社交化旅游分享平台

一世执手 提交于 2019-12-06 16:58:33
应用名称 :享途网 应用URL : http://sharetour.cloudfoundry.com/ 应用说明及使用场景 : 享途网是一个社交化的旅游经历分享平台,将旅游经历社交化,它不同于大型网站广告式的攻略发布, 而是汇集驴友们的亲身感受,为即将出游的人提供更加可信的旅游经验分享。同时享途网加入了同城信息, 在欣赏驴友们精彩的旅行经历的同时,你还可以看看本地人是怎么评价当地景点的,为你的出行做好最充分 的准备。 应用所使用的技术及软件: 前端:Bootstrap, jQuery 后端采用基本的J2EE,Servlet+JSP,未用框架(其实还没怎么学~ XD),数据库使用MySQl,图片存储在MongoDB里,等有机会的话再试用一下云存储吧,所以读取速度比较慢,加载的时候可能会有点儿吃力。 创新亮点 : 享途网的创新之处在于 社会化+游记+同城评论 享途网在以往旅游攻略类网站的思路上加上社会化的功能,如分享,评论,like等,同时加入了同城评论的功能(尽管这一功能还处于开发阶段),也就是说生活在景区附近城市的人可以对景点给出当地人的评价(比如说推荐哪家的菜好吃又实惠等等),这样对初来乍到的旅游者来说提供了更加可信的旅游信息。将游记社交化的目的 就是为游客提供尽可能真实的旅游指导。 考试前报的名,考完试这几天才开始做,感觉时间有点紧,大体功能已经差不多了

【Cloud Foundry 应用开发大赛】“Url2Sql”后端是前端的MySql

ぐ巨炮叔叔 提交于 2019-12-06 15:47:45
应用名称:Url2Sql 应用URL地址: http://url2sql.cloudfoundry.com/root/index 应用说明: web开发的本质是把URL转化为Sql。 本应用就是把复杂的后台代码转变为web页面可视化操作完成的工作。举例说,请求形如 http://www.oschina.net/news/36941 的链接背后可能只是完成了一条形如 select * from news where id=36941 的Sql。既然如此,为何每次要用笨重的IDE完成呢? 通过web配置可以生成三种URL *, *.json, *.jsonp , http://*.json 是纯JSON数据接口,可web、手机等不同形态终端使用(跨设备)。 http://*.jsonp 是针对jQuery跨域的实现,方便调试或前后端独立并行开发。 http://*(不包含.) 则是访问HTML的,算是 Bigpipe 思想的一种实现吧。 使用场景: 简化后台开发,专注于离用户最近的前端,提升竞争力。 在线IDE,更低的门槛,可以在线完成后端,前端HTML/CSS/JS完全可以实现。 跨设备,意味着适合不同的开发者。 运行流程图: 应用所使用的技术及软件: Java(Servlet) Rhino 实现Java执行Javascript的能力 fastjson

Linux RPM 安装命令总结

余生长醉 提交于 2019-12-05 20:00:29
Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。 1)用RPM安装软件包,最简单的命令如下: 1 #rpm -i example.rpm 安装 example.rpm 包; 2 #rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息; 3 #rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度 2)删除已安装的软件包 要卸载软件包example,只需输入以下这行命令: # rpm -e example 注意:软件包名是example,而不是rpm文件名"example.rpm"。 3)升级软件包 升级软件类似于安装软件: # rpm -Uvh example.rpm 用户要注意的是:rpm会自动卸载相应软件包的老版本。如果老版本软件的配置文件通新版本的不兼容,rpm会自动将其保存为另外一个文件,用户会看到下面的信息: saving /etc/example.conf as /etc/example.conf.rpmsave 这样用户就可以自己手工去更改相应的配置文件。 另外如果用户要安装老版本的软件,用户就会看到下面的出错信息: # rpm -Uvh