草庐IT

我有一篇Java Stream使用手册,学了就是你的了!

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。简介日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤、排序、对象转换之类的操作。为了简化这类操作,Java8添加了一套新的StreamAPI,使用方式就像写SQL一样,大大简化了这类处理的实现代码量与可读性。基础Stream函数比如,我们要查询双11期间交易额最大的10笔订单的用户信息,用SQL实现的话,大致如下:selectuser_id,user_namefromorderwherepay_time>='2022-11-01'andpay_time这种处理逻辑,不用StreamA

为什么你的static_assert不能按预期的工作?

static_assert是c++11添加的新语法,它可以使我们在编译期间检测一些断言条件是否为真,如果不满足条件将会产生一条编译错误信息。使用静态断言可以提前暴露许多问题到编译阶段,极大的方便了我们对代码的排错,提前将一些bug扼杀在摇篮里。然而有时候静态断言并不能如我们预期的那样工作,今天就来看看这些“不正常”的情况,我将举两个例子,每个都有一定的代表性。为什么我的static_assert不工作基于静态断言可以在编译期触发,我们希望实现一个模板类,类型参数不能是int,如果违反约定则会给出编译错误信息:templatestructObj{static_assert(!std::is_sa

为什么你的static_assert不能按预期的工作?

static_assert是c++11添加的新语法,它可以使我们在编译期间检测一些断言条件是否为真,如果不满足条件将会产生一条编译错误信息。使用静态断言可以提前暴露许多问题到编译阶段,极大的方便了我们对代码的排错,提前将一些bug扼杀在摇篮里。然而有时候静态断言并不能如我们预期的那样工作,今天就来看看这些“不正常”的情况,我将举两个例子,每个都有一定的代表性。为什么我的static_assert不工作基于静态断言可以在编译期触发,我们希望实现一个模板类,类型参数不能是int,如果违反约定则会给出编译错误信息:templatestructObj{static_assert(!std::is_sa

分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

曾几何时,“并发高就分库,数据大就分表”已经成了处理MySQL数据增长问题的圣经。面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环。但你有没有思考过,分库分表真的适合你的系统吗?分表在业务刚刚发展起来的时候,流量全部打到了一个MySQL上,用户信息全落到了user表。后来,user表的数据量越来越大了。于是,你做了一次垂直拆分,将原来的user表拆分成了新的user表和user_details表。这样一拆之后,用户的信息分散到两个表,user表的数据量一下就变小了,user表数据量过大的问题暂时就解决了。但随着业务的发展,线上的流量越来越大,单个MySQL已经扛不住流量的压力了

分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

曾几何时,“并发高就分库,数据大就分表”已经成了处理MySQL数据增长问题的圣经。面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环。但你有没有思考过,分库分表真的适合你的系统吗?分表在业务刚刚发展起来的时候,流量全部打到了一个MySQL上,用户信息全落到了user表。后来,user表的数据量越来越大了。于是,你做了一次垂直拆分,将原来的user表拆分成了新的user表和user_details表。这样一拆之后,用户的信息分散到两个表,user表的数据量一下就变小了,user表数据量过大的问题暂时就解决了。但随着业务的发展,线上的流量越来越大,单个MySQL已经扛不住流量的压力了

无需修改代码,用 fcapp.run 运行你的 REST 应用

作者|阿里云Serverless技术研发落语背景阿里云函数计算产品在较早的时候支持了HTTP触发器能力,支持用户使用HTTP协议进行函数调用。函数计算后端通过一个共享的APIServer组件对所有客户提供响应HTTP触发器调用的服务,需要依赖URL中的Path将客户流量路由到客户的函数容器内部。容器内收到的HTTP请求Path会带有函数计算的路由标识,如果客户在函数计算部署REST风格的应用,那么就会遇见404问题。在一开始,函数计算并不是为客户运行中小型规模应用而设计的。函数计算提供了原生的REST架构,将每个函数视为一个独立的资源,通常一个函数只负责一小块功能,也就是一个API。如果一个函

无需修改代码,用 fcapp.run 运行你的 REST 应用

作者|阿里云Serverless技术研发落语背景阿里云函数计算产品在较早的时候支持了HTTP触发器能力,支持用户使用HTTP协议进行函数调用。函数计算后端通过一个共享的APIServer组件对所有客户提供响应HTTP触发器调用的服务,需要依赖URL中的Path将客户流量路由到客户的函数容器内部。容器内收到的HTTP请求Path会带有函数计算的路由标识,如果客户在函数计算部署REST风格的应用,那么就会遇见404问题。在一开始,函数计算并不是为客户运行中小型规模应用而设计的。函数计算提供了原生的REST架构,将每个函数视为一个独立的资源,通常一个函数只负责一小块功能,也就是一个API。如果一个函

你的产品需要一个用户忠诚度养成计划

互联网产品的盈利通常是经过一段时间的用户运营与服务才能产生,因此,没有黏性与留存的App大概率会以失败谢幕。产品同质化导致竞争愈发激烈,想要在移动互联网占据一席之地,提升用户黏性,培养高忠诚度用户至关重要。App自身的核心功能和使用场景是吸引用户的根本。除此之外,通过一系列的运营策略让用户在使用产品的过程中获得连续性价值和荣誉感,也有助于提升用户黏性,直至使用成为习惯,转为忠诚用户。巧妙的适时推送互动通常新用户到忠诚用户的养成计划会经历如下四个阶段:认知、兴趣、购买、忠诚。不同阶段需差异化制定用户运营策略。例如,在认知阶段,应尽可能让他们多一点了解产品的差异化能力,例如,发送种草科普消息,这类

你的产品需要一个用户忠诚度养成计划

互联网产品的盈利通常是经过一段时间的用户运营与服务才能产生,因此,没有黏性与留存的App大概率会以失败谢幕。产品同质化导致竞争愈发激烈,想要在移动互联网占据一席之地,提升用户黏性,培养高忠诚度用户至关重要。App自身的核心功能和使用场景是吸引用户的根本。除此之外,通过一系列的运营策略让用户在使用产品的过程中获得连续性价值和荣誉感,也有助于提升用户黏性,直至使用成为习惯,转为忠诚用户。巧妙的适时推送互动通常新用户到忠诚用户的养成计划会经历如下四个阶段:认知、兴趣、购买、忠诚。不同阶段需差异化制定用户运营策略。例如,在认知阶段,应尽可能让他们多一点了解产品的差异化能力,例如,发送种草科普消息,这类

从零开始,打造属于你的 ChatGPT 机器人!

大家好!我是韩老师。 不得不说,最近OpenAI/ChatGPT真的是太火了。前几天,微软宣布推出全新的Bing和Edge,集成了OpenAI/ChatGPT相关的技术,带动股价大涨:微软市值一夜飙涨5450亿国内外各家大厂也是纷纷跟进,发布或者将要发布与OpenAI/ChatGPT对标的AI技术。 那么,各家大厂都在加大投入OpenAI/ChatGPT类似的AI技术。我们普通人是否能搭建一个属于我们自己的ChatGPT机器人呢?答案是肯定的。 虽然ChatGPT没有开放官方的API或者SDK,但是OpenAI提供了官方的RESTAPI以及Node.js和Python的SDK。而且,OpenA