dasein58_个人页

个人头像照片 dasein58
个人头像照片 个人头像照片
962
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2021年11月

  • 11.07 22:55:44
    发表了文章 2021-11-07 22:55:44

    Google 开源的 Python 命令行库:fire 实现 git 命令

    涉及的示例代码和历史文章,已同步更新到 HelloGitHub-Team 仓库 一、前言 在前面三篇介绍 fire 的文章中,我们全面了解了 fire 强大而不失简洁的能力。按照惯例,我们要像使用 argparse、docopt 和 click 一样使用 fire 来实现 git 命令。 本文的关注点并不在 git 的各种命令是如何实现的,而是怎么使用 fire 去打造一个实用命令行程序,代码结构是怎样的。因此,和 git 相关的操作,将会使用 gitpython 库来简单实现。 为了让没读过 使用 xxx 实现 git 命令(xxx 指 argparse、docopt 和 click)
  • 11.07 22:54:39
    发表了文章 2021-11-07 22:54:39

    数据库对象设计-Database和Schema设计

    GaussDB 200中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多,可以通过grant与revoke语法便捷地控制不同用户对各Schema及其下属对象的权限。 从便捷性和资源共享效率上考虑,推荐使用Schema进行业务隔离。 建议系统管理员创建Schema和Database,再赋予相关用户对应的权限。 Database设计建议 【建议】在实际业务中,根据需要创建新的Database,不建议直接使用集群默认的p
  • 11.07 22:49:15
    发表了文章 2021-11-07 22:49:15

    Java和Docker限制的那些事儿

    Java和Docker不是天然的朋友。 Docker可以设置内存和CPU限制,而Java不能自动检测到。使用Java的Xmx标识(繁琐/重复)或新的实验性JVM标识,我们可以解决这个问题。 虚拟化中的不匹配 Java和Docker的结合并不是完美匹配的,最初的时候离完美匹配有相当大的距离。对于初学者来说,JVM的全部设想就是,虚拟机可以让程序与底层硬件无关。 那么,把我们的Java应用打包到JVM中,然后整个再塞进Docker容器中,能给我们带来什么好处呢?大多数情况下,你只是在复制JVMs和Linux容器,除了浪费更多的内存,没任何好处。感觉这样子挺傻的。 不过,Docker可以把
  • 11.07 22:00:29
    发表了文章 2021-11-07 22:00:29

    10个常见的Redis面试"刁难"问题

    导读:在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,本文作者总结了面试过程中经常问到的问题。十分值得一读。 作者简介:钱文品(老钱),互联网分布式高并发技术十年老兵,目前任掌阅科技资深后端工程师。熟练使用 Java、Python、Golang 等多种计算机语言,开发过游戏,制作过网站,写过消息推送系统和MySQL 中间件,实现过开源的 ORM 框架、Web 框架、RPC 框架等 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名在互联网技术行
  • 11.07 21:59:31
    发表了文章 2021-11-07 21:59:31

    一份平民化的应用性能优化检查列表(完整篇)

    1.总原则 一些正确但稍显废话的原则,但能指导后面每个章节的优化,所以还是要啰嗦一次。 可扩展性架构,堆机器能不能解决问题是最最优先考虑的问题 去中心化的点对点通信,优于通过中心代理的通信 池化的长连接,优于短连接 二进制数据,优于文本数据 尽量减少交互,一次调用的粗粒度聚合接口 优于 多次调用的细粒度接口 尽量减少交互,批量接口优于循环调用 尽量只交互必要的数据 尽量就近访问 尽量使用缓存 总是设定超时 在合适的场景,并行化执行 在合适的场景,异步化执行 2.环境准备 保证符合自家各种规范(没有的话赶紧回家写一个),尤其线下压测服务器的配置要与生产环境一致。 2.1 操作系统 自家
  • 11.07 21:58:33
    发表了文章 2021-11-07 21:58:33

    正确地使用Redis的SETNX实现锁机制

    setNX,是set if not exists 的缩写,也就是只有不存在的时候才设置, 设置成功时返回 1 , 设置失败时返回 0 。可以利用它来实现锁的效果,但是很多人在使用的过程中都有一些问题没有考虑到。 例如某个查询数据库的接口因为请求量比较大所以加了缓存,并设定缓存过期后刷新。当并发量比较大并且缓存过期的瞬间,大量并发请求会直接查询数据库导致雪崩。如果使用锁机制来控制只有一个请求去更新缓存就能避免雪崩的问题。下面是很多人下意识想到的加锁方法 <?php $rs = $redis->setNX($key, $value); if ($rs) { //处理更新缓存逻辑
  • 11.07 21:56:17
    发表了文章 2021-11-07 21:56:17

    调试,是一件有挑战的事情

    如果你不是工程师,你应该享受不到加班调试的乐趣吧,我记得在大学的时候,我第一次调试I2C时序,当时用的芯片是24C02的存储芯片,用51单片机模拟I2C时序,怎么整也整不出来,时序这个东西,一通百通,一不通那就是几个通宵熬夜都有可能。 先量电压,量电压了看波形,波形反反复复的看了之后,就是没有从设备的应答信号,再去看看硬件设计,该上拉电阻的地方有没有接上上拉电阻。 关于上拉电阻和下拉电阻这个自行百度,可以理解为一个默认的能力把,就像弹簧默认是有一个力的,你需要一个>弹簧的默认力才能驾驭弹簧,上拉和下拉就是保持它的默认能力。 作为一个电子工程师,调试通信时序应该是基本操作,就好
  • 11.07 21:55:06
    发表了文章 2021-11-07 21:55:06

    GIN索引-扩展性

    GIN索引的接口实现了一个高层次的抽象,要求访问用户仅需要实现被访问数据类型的语义。GIN层自身可以处理并发操作、记录日志、搜索树结构的任务。 定义GIN索引的访问方式所要做的事情就是实现多个用户定义的方法,这些方法定义了键在树中的行为、键与键之间的关系、需要索引的item、能够使用索引的查询。简而言之,GIN索引将扩展性与普遍性、代码重用、清晰的接口结合在了一起。 实现GIN索引的操作符类有如下四个方法: int compare(Datum a, Datum b) 比较两个key(不是索引的item)然后返回一个小于零、零或大于零的值,分别表示第一个key小于、等于或大于第二个key。
  • 11.07 21:53:40
    发表了文章 2021-11-07 21:53:40

    Spring Cloud Config客户端使用

    要在应用程序中使用这些功能,只需将其构建为依赖于spring-cloud-config-client的Spring引导应用程序(例如,查看配置客户端或示例应用程序的测试用例)。添加依赖关系的最方便的方法是通过Spring Boot启动器org.springframework.cloud:spring-cloud-starter-config。
  • 11.07 21:15:47
    发表了文章 2021-11-07 21:15:47

    WEB各类常用测试工具

    一,单元测试/测试运行器 1,Jest 知名度的Java单元测试工具,由Facebook开源,开箱即用。它在最基础的被设计为快速,简单地编写地道的Java测试,能自动模拟()返回的CommonJS模块,并提供了包括内置的测试环境Dom API支持,合理的转换值,重新编码和交替执行并行测试内部的特性。通过在并行进程中同时运行测试,让测试重新进行地结束。 2,AVA 号称“未来的测试运行器”,利用Java的在Node.js的里使得IO可以并行的优点,让你的测试可以并发执行,这对于IO繁重的测试特别有用。另外,测试文件可以在不同的进程里并行运行,让每个一个测试文件可以获得更好的性能和独立的环境
  • 11.07 21:14:22
    发表了文章 2021-11-07 21:14:22

    故障定位方法-磁盘故障定位手段

    常见的磁盘故障是磁盘空间不足、磁盘出现坏块、磁盘未挂载等。 磁盘故障有的会导致文件系统损坏,比如磁盘未挂载,集群管理自动定期做磁盘检测时会识别故障并将实例停止,查看集群状态时对应实例状态异常;有的不会导致文件系统损坏,比如磁盘空间不足,集群管理无法检测到,服务进程访问到故障磁盘会异常退出,比如:数据库无法启动、checksum校验不对、页面读写失败、页面校验错误等。 对于会导致文件系统损坏的故障,查看集群状态会显示对应实例状态持续为Unknown,定位方法如下: 查看cm_agent日志,日志保存在mpp/omm/cm/cm_agent,日志中会有类似“data path disc wri
  • 11.07 21:11:34
    发表了文章 2021-11-07 21:11:34

    一个开发工程师,真的需要了解业务吗?

    昨天,一位分析界的老前辈对我很无奈地摇摇头,“这帮程序员,不食人间烟火哪!” 我也深有感触,全世界的码农都一个鸟样。 这让我想起了,同样也是他,在多年之前,对我提了警醒——要重视业务。 从那之后,我一直狂奔在技术+业务的双修道路上。 放在以前,码农这个族群一定是稀罕动物。但在今天,这个世界最不缺的应该就是码农了,未来最廉价的也将是码农。
  • 11.07 21:06:00
    发表了文章 2021-11-07 21:06:00

    mybatis使用注解替代xml配置,动态生成Sql

    mybatis使用注解替代xml配置时,遇到判断条件是否为null或者为空时,@Select很难搞定,不知道怎么办? mybatis3中增加了使用注解来配置Mapper的新特性,使用 SelectProvider来动态生成sql。 典型的使用场景 1. 无参数@SelectProvide方法 在Mapper接口方法上和@SelectProvide指定类方法上,均无参数: UserMapper.java: 1 @SelectProvider(type = SqlProvider.class, method = "selectAllUser") 2 @ResultMap("
  • 11.07 20:55:28
    发表了文章 2021-11-07 20:55:28

    Go语言五种变量创建的方法

    对于只有 Python 语言经验的朋友,也许会不太理解声明这个词,在 Python 中直接拿来就用,也不用声明类型啥的。 Go 语言是静态类型语言,由于编译时,编译器会检查变量的类型,所以要求所有的变量都要有明确的类型。 变量在使用前,需要先声明。声明类型,就约定了你这个变量只能赋该类型的值。 声明一般有以下四种方法,其中前面两种同样也可用于定义常量,只需把关键字 var 变成 const 即可。 第一种 :一行声明一个变量 var <name> <type> 复制代码 其中 var 是关键字(固定不变),name 是变量名,type 是类型。 使用 var ,虽然只指定了类型,但
  • 11.07 20:54:05
    发表了文章 2021-11-07 20:54:05

    关于Freelists和Freelist Groups的研究

    数据库读取的单位是数据块(block),一个block是否允许写入数据是基于一定的空闲度--PCTFREE和PCTUSED存储参数设置。 Freelists就是一个指定了所有可以用于insert操作的数据块的列表。 存在于这个列表中的数据块才能用于insert操作,一旦一个数据块无法用于insert(达到了PCTFREE参数指定的限度)则立刻从这个列表中被摘除。 Freelists的作用就在于管理高水位标志(HWM)以下的空闲空间。 Freelist只是管理高水位标志以下的空闲空间,而实际上一个segment可用的空闲空间包括两种类型: 1.已经分配给这个segment但是从来未被使用过的位
  • 11.07 20:53:38
    发表了文章 2021-11-07 20:53:38

    记住,永远不要在MySQL中使用“utf8”-转

    最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字符串“ <…”也是合法的UTF-8。 问题的症结在于,MySQL的“utf8”实际上不是真正的UTF-8。 “utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。 MySQL一直没有修复
  • 11.07 20:53:03
    发表了文章 2021-11-07 20:53:03

    如何快速打好Java基础?

    微信上 tison 向我提出了这个问题。我想我是有资格来回答的,从北京奥运会那年开始学 Java,到现在已经有 10 多个年头了,真的是从一名编程白痴一步步走到现在的。 我在各大技术网站上分享了不少 Java 方面的原创文章,不知道影响了多少初学者,反正文章的留言中经常能看到他们由衷的感谢。现在每天仍然有不少同学(tison 是其中之一)加我微信,问我怎么一路过来的,希望能够把宝贵的经验分享出来,让他们少走一些弯路。 借这个机会,就统一回答下。 既然要快速,咱就没法面面俱到,必须挑重点、讲实用。下面就根据我的实战经验,谈一谈具体的学习过程。 01、准备 学习之路是一项很逆人性的差事,并不
  • 11.07 20:52:34
    发表了文章 2021-11-07 20:52:34

    python 函数中的参数类型

    1.前言 Python 中函数的参数类型比较丰富,比如我们经常见到 *args 和 **kwargs 作为参数。初学者遇到这个多少都有点懵逼,今天我们来把 Python 中的函数参数进行分析和总结。 2.Python 中的函数参数 在Python中定义函数参数有5种类型,我们来一一演示它们。 2.1必选参数 必须参数是最基本的参数类型,当你在 Python 函数中定义一个必选参数时,每次调用都必须给予赋值,否则将报错。
  • 11.07 20:52:03
    发表了文章 2021-11-07 20:52:03

    架构选型,究竟啥时候选redis?

    redis是互联网分层架构中,最常用的KV缓存,但不少同学仍然不知道,为啥要选择redis。 画外音:与之对比最多的,是memcache。 一、复杂数据结构,选择redis更合适 value是哈希,列表,集合,有序集合这类复杂的数据结构时,会选择redis,因为mc无法满足这些需求。 最典型的场景,用户订单列表,用户消息,帖子评论列表等。 二、持久化,选择redis更合适 mc无法满足持久化的需求,只得选择redis。 但是,这里要提醒的是,真的使用对了redis的持久化功能么? 千万不要把redis当作数据库用: (1)redis的定期快照不能保证数据不丢失; (2)redis
  • 11.07 20:44:43
    发表了文章 2021-11-07 20:44:43

    Django Haystack 全文检索与关键词高亮

    博客提供 RSS 订阅应该是标配,这样读者就可以通过一些聚合阅读工具订阅你的博客,时时查看是否有文章更新,而不必每次都跳转到博客上来查看。现在我们就来为博客添加 RSS 订阅功能。 在此之前我们使用了 Django 内置的一些方法实现了一个简单的搜索功能。但这个搜索功能实在过于简单,没有多大的实用性。对于一个搜索引擎来说,至少应该能够根据用户的搜索关键词对搜索结果进行排序以及高亮关键字。现在我们就来使用 django-haystack 实现这些特性。 Django Haystack 简介 django-haystack 是一个专门提供搜索功能的 django 第三方应用,它支持 Solr、
  • 11.07 20:42:42
    发表了文章 2021-11-07 20:42:42

    这个 Spring 循环依赖的坑,90% 以上的人都不知道

    1. 前言 这两天工作遇到了一个挺有意思的Spring循环依赖的问题,但是这个和以往遇到的循环依赖问题都不太一样,隐藏的相当隐蔽,网络上也很少看到有其他人遇到类似的问题。这里权且称他非典型Spring循环依赖问题。但是我相信我肯定不是第一个踩这个坑的,也一定不是最后一个,可能只是因为踩过的人比较少、鲜有记录罢了。因此这里权且记录一下这个坑,方便后人查看。 正如鲁迅(我)说过,“这个世上本没有坑,踩的人多了,也便成了坑”。 2. 典型场景 经常听很多人在Review别人代码的时候有如下的评论:“你在设计的时候这些类之间怎么能有循环依赖呢?你这样会报错的!”。 其实这句话前半句当然没有错,出
  • 11.07 20:38:26
    发表了文章 2021-11-07 20:38:26

    队列理论在PostgreSQL写WAL中的应用

    队列理论在我们生活中的应用随处可见,例如机场、海关、银行甚至排队买菜。可以说,只要有排队的地方,就可以应用队列理论进行服务优化。 在计算机领域的架构设计,性能诊断等地方使用队列理论的案例也多不胜举。曾经培训的时候听到过,有牛人可以在不了解具体技术的情况下仅凭队列理论的知识就可以快速定位系统的瓶颈所在。拿一台服务器来讲,分为动态设备和静态设备。CPU和IO子系统属于动态设备,RAM属于静态设备,队列理论只对动态设备适用。今天不打算介绍队列理论的基础知识,而想讨论一下队列理论在PG数据库对于写WAL上的应用。 一个系统的响应时间由两部分决定,等
  • 11.07 20:37:43
    发表了文章 2021-11-07 20:37:43

    编写 Django 应用单元测试

    文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们博客功能越来越来完善了,但这也带来了一个问题,我们不敢轻易地修改已有功能的代码了! 我们怎么知道代码修改后带来了预期的效果?万一改错了,不仅新功能没有用,原来已有的功能都可能被破坏。此前我们开发一个新的功能,都是手工运行开发服务器去验证,不仅费时,而且极有可能验证不充分。 如何不用每次开发了新的功能或者修改了已有代码都得去人工验证呢?解决方案就是编写自动化测试,将人工验证的逻辑编写成脚本,每次新增或修改代码后运行一遍测试脚本,脚本自动帮我们完成全部测试工作。 接下来我们将进行两种类型的测试,一种是单元测试,
  • 11.07 20:35:41
    发表了文章 2021-11-07 20:35:41

    用Spring的BeanUtils前,建议你先了解这几个坑!

    背景 最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。根据注释,对方的SDK中写好的Request类有一个无法序列化的bug,所以这边重新写了一个Request类,基本属性都是相同的,但是重点是有一个属性是静态内部类,还有两个是list属性,类似于下面这样: private List<Order> orders; private AddRequest.Ticket ticket; private List<Payment> payments; 复制代码 AddRequest就是我们自己重写的请求类,他们SDK中的请求类是MixAddR
  • 11.07 20:34:20
    发表了文章 2021-11-07 20:34:20

    代码演示Mybatis-Generator扩展自定义生成

    Mybatis-Generator可自动生成模型,Dao,Mapper代码,但其自带生成的代码存在以下问题: 生成的注释不是我们想要的,我们期望的是根据数据库表,细分生成不同的注释; 分页代码生成缺失,每个公司的分页方式不同,尤其是老久项目或已发布API,不能随意移动,那么如何自适应分页代码生成; Mapper.xml没有按相关代码生成分组; 重复生成代码时,Mapper.xml并非覆盖原始代码,而是对内容进行了追加; 序列化,mybatis-generator内置了SerializablePlugin,但仅对Model,并没有对Example序列化,在一些开发中是不够的; 对服务层代码没有生
  • 11.07 20:33:34
    发表了文章 2021-11-07 20:33:34

    内部开源:如何在企业内部发挥开源的魔力

    将开源开发的方法应用于企业内部可以提高创新能力,缩短产品上市时间,并使员工和客户感到满意。 各行各业、规模各异的公司都在实施内部开源的工作方式,以推动更高水平的开发协作和代码重用。他们的最终目标是提高创新力,缩短上市时间,培养、保留和吸引人才,当然,还有让他们的客户满意。 本文将介绍内部开源和其中的一些重点,还有内部开源可以帮助解决哪些问题。我还会讨论包括指标在内的内部开源流程中的一些组成部分。 什么是内部开源? 内部开源是把开发开源软件中学到的经验教训应用到公司内部开发软件的实践。因为它是在公司环境中完成的,所以内部开源是在公司内部网络中发生的。 在内部开源中,开发人员将会有相应的回报
  • 11.06 22:26:55
    发表了文章 2021-11-06 22:26:55

    你以为这样写Java代码很6,但我看不懂

    你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码。下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很 6,来欣赏一下吧。 IntStream.range(1, 5).boxed().map(i -> { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"; else return "to You"; }).forEach(System.out::println); 复制代码 我虽然拥有
  • 11.06 22:25:40
    发表了文章 2021-11-06 22:25:40

    编写Spring MVC控制器的14个技巧

    通常,在Spring MVC中,我们编写一个控制器类来处理来自客户端的请求。然后,控制器调用业务类来处理与业务相关的任务,然后将客户端重定向到逻辑视图名称,该名称由Spring的调度程序Servlet解析,以呈现结果或输出。 这样就完成了典型的请求-响应周期的往返。 今天整理了一下编写Spring MVC控制器的14个技巧,你今天get到了吗?(≧▽≦)/ 1.使用@Controller构造型 这是创建可以处理一个或多个请求的控制器类的最简单方法。仅通过用构造型注释一个类@Controller ,例如: import org.springframework.stereotype.Con
  • 11.06 22:23:18
    发表了文章 2021-11-06 22:23:18

    Java 8 Optional 良心指南,建议收藏

    想学习,永远都不晚,尤其是针对 Java 8 里面的好东西,Optional 就是其中之一,该类提供了一种用于表示可选值而非空引用的类级别解决方案。作为一名 Java 程序员,我真的是烦透了 NullPointerException(NPE),尽管和它熟得就像一位老朋友,知道它也是迫不得已——程序正在使用一个对象却发现这个对象的值为 null,于是 Java 虚拟机就怒发冲冠地把它抛了出来当做替罪羊。 当然了,我们程序员是富有责任心的,不会坐视不管,于是就有了大量的 null 值检查。尽管有时候这种检查完全没有必要,但我们已经习惯了例行公事。终于,Java 8 看不下去了,就引入了 Opti
  • 11.06 22:17:06
    发表了文章 2021-11-06 22:17:06

    Linux之sudo及其配置文件/etc/sudoers

    一、sudo介绍 sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。 它的特性主要有这样几点: § sudo能够限制用户只在某台主机上运行某些命令。 § sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。 § sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为
  • 11.06 22:16:27
    发表了文章 2021-11-06 22:16:27

    前端高级进阶:前端部署的发展历程

    前端高级进阶:javascript 代码是如何被压缩 前端高级进阶:如何更好地优化打包资源 前端高级进阶:网站的缓存控制策略最佳实践及注意事项 前端高级进阶:在生产环境中使你的 npm i 速度提升 50% 前端高级进阶:使用 docker 高效部署你的前端应用 前端高级进阶:CICD 下的前端多特性分支环境的部署 前端高级进阶:前端部署的发展历程 更多文章: 前端工程化系列 我在 github 上新建了一个仓库 每日一题,每天一道面试题,欢迎交流。 前端面试题小记 前端大厂面经大全集 计算机基础面试题小计 前端一说起刀耕火种,那肯定紧随着前端工程化这一话题。随着 react/vue/ang
  • 11.06 21:59:31
    发表了文章 2021-11-06 21:59:31

    Nodejs 进阶:解答 Cluster 模块的几个疑问

    之前使用 PM2 管理进程还是挺多的,它是怎么实现的呢?在 PM2 的配置文件中可以设置 exec_model:'cluster' 和 instances 两个属性来设置开启多个进程,PM2 其实主要也是利用 Nodejs Cluster 这个模块来实现了,还有 Egg.js 中的 egg-cluster 模块在启动 Worker 进程时也是使用的 Nodejs Cluster 模块。下面来了解下 Nodejs Cluster 这个模块做了什么? 下面参考了 Nodejs 官网提供的一个 Cluster 代码示例,命名为 app.js 下文会用到这个 Demo。 // app.js con
  • 11.06 21:58:43
    发表了文章 2021-11-06 21:58:43

    GaussDB在IoT大数据场景的创新实践

    近日,在深圳举办的ArchSummit全球架构师峰会上,华为GaussDB生态与标准CTO王伟民发表了“IoT大数据场景下华为GaussDB的数据处理实践”主题演讲,分享了大数据场景下华为GaussDB的数据处理实践。 在数据爆炸式增长的时代,企业在进行海量数据分析与处理时面临四大挑战: l 极致的弹性扩缩容能力,满足海量数据处理需求 l 系统具备极高的可用性,满足7 * 24 * 365不间断持续运营诉求 l 具备实时性分析能力,对服务体验、精准的个性化服务要求不断提高 l 基础平台必须对应用开发友好,易管理易运维,满足业务创新加速,且在运维运营、变更等方面具有可视化、智能
  • 11.06 21:57:22
    发表了文章 2021-11-06 21:57:22

    再谈PostgreSQL的膨胀和vacuum机制及最佳实践

    作者介绍 朱贤文,成都文武信息技术有限公司创始人,PostgreSQL中国用户会核心组成员,熟悉数据库,存储和集群技术; 成都文武信息技术有限公司是PostgreSQL和GreenPlum数据库服务的专业厂商,主要产品是ECOX集群管理系统和Hunghu Cloud,专门运行数据库的私有云系统,带高端存储功能。公司总部位于天府软件园。公司网站:w3.ww-it.cn 写本文的原因 这两天有两篇专门介绍PostgreSQL的vacuum机制的技术文章,得到了比较热烈和正面的反馈,让用户可以比较清楚地理解和使用这个特性。 我个人觉得有点小遗憾:这两篇文章没有跳出技术的角度,分析为什么会有这
  • 11.06 21:56:39
    发表了文章 2021-11-06 21:56:39

    三种不同类型的ssh隧道

    想通过ssh隧道连接远端机器的VNC服务,对ssh -L命令不太熟悉,man ssh后发现3组与隧道(turnnel)相关的参数:ssh -D,ssh -L,ssh -R,一下子就搞糊涂了,所有下决心仔细研究一番。 何谓SSH隧道 隧道是一种把一种网络协议封装进另外一种网络协议进行传输的技术。这里我们研究ssh隧道,所以所有的网络通讯都是加密的。又被称作端口转发,因为ssh隧道通常会绑定一个本地端口,所有发向这个端口端口的数据包,都会被加密并透明地传输到远端系统。 SSH隧道的类型 ssh隧道有3种类型: 动态端口转发(Socks 代理) 本地端口转发 远端端口转发 动态端口转发
  • 11.06 21:53:24
    发表了文章 2021-11-06 21:53:24

    华为高斯数据库的性能分析

    数据处理大致可以分成两大类:联机事务处理OLTP(On-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用场景,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用场景,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 OLTP 系统强调数据库内存效率,强调内存各种指标的命中率,强调绑定变量,强调并发操作; OLAP 系统则强调数据分析,强调SQL执行时长,强调磁盘I/O,强调分区等。
  • 11.06 21:35:50
    发表了文章 2021-11-06 21:35:50

    恕我直言,我怀疑你没怎么用过枚举

    我们是否一样? 估计很多小伙伴(也包括我自己)都有这种情况,在自学Java语言看书时,关于枚举enum这一块的知识点可能都有点 “轻敌” ,觉得这块内容非常简单,一带而过,而且在实际写代码过程中也不注意运用。 是的,我也是这样!直到有一天我提的代码审核没过,被技术总监一顿批,我才重新拿起了《Java编程思想》,把枚举这块的知识点重新又审视了一遍。 为什么需要枚举 常量定义它不香吗?为啥非得用枚举? 举个栗子,就以B站上传视频为例,视频一般有三个状态:草稿、审核和发布,我们可以将其定义为静态常量: public class VideoStatus { public st
  • 11.06 21:33:43
    发表了文章 2021-11-06 21:33:43

    你能搞懂connectTimeout和socketTimeout的区别么?

    有时候,由于业务的复杂性,在JVM中拼装一些数据,会造成资源的极大浪费。举个例子,从MySQL中查询出一个List,然后在代码里循环查询数据库,进行一些字段的填充。 这种数据组装方式,除了执行效率的问题,往往会有更多的内存占用,对整个JVM计算节点造成了比较大的压力,有时候甚至造成内存溢出。于是,一些比较牛X的开发人员,使用非常复杂的SQL,来把这些耗时的操作,转嫁给数据库。 可怜的数据库,成了最后一道屏障。谁让数据库的配置普遍都比较高呢?活该。 但是可惜的是,数据库完成这些动作,同样要经历耗时的操作。Java线程等的不耐烦了,就会对用户直接返回超时,懵逼的用户会在这种情况下,再次发起重
  • 11.06 21:32:17
    发表了文章 2021-11-06 21:32:17

    免费开源的 HelloDjango 系列教程,结束还是开始?

    我们已经成功地开发了一个功能比较完备的个人博客,是时候来总结一下我们的工作了。 在教程的前两篇,我们介绍了如何搭建 django 开发环境,如何创建 django 项目以及 django 应用,这是我们进行 django 项目开发的基础。 第 3、4 篇:讲了 django ORM 的基础操作。ORM 是 django 核心中的核心,不仅 django 自带的应用底层全都依赖于 ORM,大部分使用 django 构建的应用基本也离不开 django ORM 的操作,所以能否熟练掌握 django 的 ORM API
  • 11.06 21:30:53
    发表了文章 2021-11-06 21:30:53

    多维度分析 Express、Koa 之间的区别

    Express 历史悠久相比 Koa 学习资料多一些,其自带 Router、路由规则、View 等功能,更接近于 Web FrameWork 的概念。Koa 则相对轻量级,更像是对 HTTP 的封装,自由度更多一些,官方 koajs/koa/wiki 提供了一些 Koa 的中间件,可以自行组合。 本文重点从 Handler 处理方式、中间件执行机制、响应机制多个维度来看待 Express、Koa 的区别。 Handler 处理方式 这个是 Express、Koa(koa1、koa2)的重点区别: Express Express 使用普通的回调函数,一种线性的逻辑,在同一个线程上完成所有的
  • 11.06 21:26:46
    发表了文章 2021-11-06 21:26:46

    MySQL Online DDL增量DML记录和回放的源码实现

    中分析并验证了MySQL进行在线创建索引时,不会因为执行时间过长或业务压力较大,在回放增量DML时加锁时间过久而对业务造成严重影响,本文从MySQL 8.0.19源码出发,分析MySQL是如何实现的。同时也确认是否在回放DML时会报duplicate key。 核心处理流程和对象 增量DML处理流程主要在http://row0log.cc中。 /** @file row/row0log.cc Modification log for online index creation and online table rebuild Created 2011-05-26 Marko Make
  • 11.05 22:52:37
    发表了文章 2021-11-05 22:52:37

    这个 Spring 循环依赖的坑,今天让我遇见了

    1. 前言 这两天工作遇到了一个挺有意思的Spring循环依赖的问题,但是这个和以往遇到的循环依赖问题都不太一样,隐藏的相当隐蔽,网络上也很少看到有其他人遇到类似的问题。这里权且称他非典型Spring循环依赖问题。但是我相信我肯定不是第一个踩这个坑的,也一定不是最后一个,可能只是因为踩过的人比较少、鲜有记录罢了。因此这里权且记录一下这个坑,方便后人查看。 正如鲁迅(我)说过,“这个世上本没有坑,踩的人多了,也便成了坑”。 2. 典型场景 经常听很多人在Review别人代码的时候有如下的评论:“你在设计的时候这些类之间怎么能有循环依赖呢?你这样会报错的!”。 其实这句话前半句当然没有错,
  • 11.05 22:50:01
    发表了文章 2021-11-05 22:50:01

    如何在 Vim 里直接完成 Git 操作?

    Vim 是 Linux 下一款很常用的文本编辑器,虽然它对初学者而言并不友好,但通过一些插件的配合,它可以被打造成一款很强大的 IDE 。良许曾经介绍过三款很常用的插件,可点击以下链接查看: Vim 编辑器的 3 款实用插件 本文再介绍一款 Vim 编辑器中的一款很强大插件—— VIM Fugitive 。这款插件可以实现你在 Vim 编辑器里直接完成 Git 操作,而无需退出 Vim 。更多 Linux 精选干货电子书,可私聊我 「资料」获取。 这个插件是开源项目,我们可以在以下地址获取源码: 安装方法: cd ~/.vim/bundle git clone vim -u NON
  • 11.05 22:48:49
    发表了文章 2021-11-05 22:48:49

    很多人不知道的Python 炫技操作:连接列表的八种方法

    Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。 但你要知道,在团队合作里,炫技是大忌。 为什么这么说呢?我说下自己的看法: 越简洁的代码,越清晰的逻辑,就越不容易出错; 在团队合作中,你的代码不只有你在维护,降低别人的阅读/理解代码逻辑的成本是一个良好的品德 简单的代码,只会用到最基本的语法糖,复杂的高级特性,会有更多的依赖(如语言的版本) 该篇是「炫技系列」的第三篇内容,在这个系列里,我将总结盘点一下,我所见过的那些炫技操作。在这里,如果你是 Python 发烧友
  • 11.05 22:48:01
    发表了文章 2021-11-05 22:48:01

    分布式事务数据库安全技术指南

    很多朋友对前段时间“删库跑路”事件应该还记忆犹新吧, 不仅如此近期的数据泄露问题也是从出不穷, 数据库作为企业核心业务系统的基础设施部分更是重中之重, 热璞数据库HotDB 结合企业数十年的技术沉淀以及在实战中的经验,以用户的视角打造的这份安全技术指南,跟各位一起分享: 一:用户管理 数据库应支持用户身份认证,并确保用户标识具有唯一性,且用户的身份认证信息应进行加密存储,宜采用不可逆加密算法; 用户的口令应具有复杂度要求,长度应少于8位,并包含英文字母大小写、特殊字符及阿拉伯数字等组合,且系统运维管理用户应定期修改登陆口令; 宜设置超时时间,登录用户在超时时间内无操作则自动结束会话; 宜及
  • 发表了文章 2024-11-15

    在Linux中,有一个文件,如何删除包含“www“字样的字符?

  • 发表了文章 2024-11-09

    SpringBoot 内部方法调用,事务不起作用的原因及解决办法

  • 发表了文章 2024-11-05

    向百度提交网站地图Sitemap

  • 发表了文章 2024-11-03

    SpringBoot_web开发-webjars&静态资源映射规则

  • 发表了文章 2024-11-03

    JavaScript获取url网址中域名后面的部分

  • 发表了文章 2024-11-01

    浏览器输入域名网址访问后的过程详解

  • 发表了文章 2024-11-01

    域名前缀和后缀html,为什么域名前要加www前缀,www是什么意思?

  • 发表了文章 2024-10-31

    python爬虫抓取91处理网

  • 发表了文章 2022-08-15

    一篇文章带你了解JVM常见面试题有哪些

  • 发表了文章 2022-08-15

    CSS浮动讲解

  • 发表了文章 2022-08-15

    知识总结:CSS定位

  • 发表了文章 2022-08-15

    技巧篇:CSS高级技巧详解

  • 发表了文章 2022-08-15

    关于List集合,这份总结很全面

  • 发表了文章 2022-08-15

    这篇文章教你轻松过dubbo+zk面试

  • 发表了文章 2022-08-15

    前端:Vue3为何使用Proxy实现数据监听

  • 发表了文章 2022-08-15

    JavaScript的深拷贝实现

  • 发表了文章 2022-08-15

    最近面试了13家企业软件测试岗位,面试题整理

  • 发表了文章 2022-08-15

    揭秘什么是面向接口编程

  • 发表了文章 2022-08-15

    Spring Cloud Alibaba 新一代微服务解决方案

  • 发表了文章 2022-08-15

    前端:如何在 JavaScript 中获取当前日期

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息