ICode9

精准搜索请尝试: 精确搜索
  • ES6 Proxy的简单理解2021-09-29 15:30:48

    Proxy 代理的应用很广泛 ,这一篇我着重讲解它的基础用法    一  概念 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操

  • Kotlin特性之 - 扩展函数2021-09-28 11:32:07

    1. 扩展函数的写法 // fun 关键字 + 要扩展的类名 + 点号 + 方法名 + 方法属性 fun String.method1(i: Int) { ... } 这里要扩展函数的类名叫做Receiver(接受者),也就是谁可以去调用它. 在声明一个函数的时候在函数名的左边写个类名再加个点,你就能对这个类的对象调用这个

  • 命令设计模式 学习笔记2021-09-07 22:00:46

    Command design pattern is used to implement loose coupling in a request-response model. 命令设计模式用于 在请求-响应模型中实现松耦合。 In command pattern, the request is send to the invoker and invoker pass it to the encapsulated command object. Command

  • JS知识点总结(九)2021-08-25 17:06:02

    JS知识点总结 文章目录 JS知识点总结一、如何监听数组的改变? 一、如何监听数组的改变? 利用Proxy可以来监听数组的length属性,当push或者pop的时候,会触发setter: const proxyArr = new Proxy(unkownArr, { set(target, prop, value, receiver) { if (prop === '

  • 设计模式之命令模式2021-08-21 20:31:39

    定义 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 可以类比现实生活中我们使用电视遥控器开关机,或者去餐厅吃饭向服务员点餐的过程,用户不需要知道点的菜是具体哪个厨师做的, 厨师也不需要知道这个菜是哪个用户

  • Prometheus告警处理:与SMTP邮件集成2021-08-17 15:03:29

    参考:https://www.prometheus.wang/alert/alert-with-smtp.html 邮箱应该是目前企业最常用的告警通知方式,Alertmanager内置了对SMTP协议的支持,因此对于企业用户而言,只需要一些基本的配置即可实现通过邮件的通知。 在Alertmanager使用邮箱通知,用户只需要定义好SMTP相关的配置,并且

  • 深入理解 Golang Channel 并发编程2021-08-03 13:06:42

    一、基础简介 Golang使用Groutine和channels实现了CSP(Communicating Sequential Processes)模型,channles在goroutine的通信和同步中承担着重要的角色。 这种方式的优点是通过提供原子的通信原语,避免了竞态情形(race condition)下复杂的锁机制。 channel 可以看成一个 FIFO

  • Android中禁用组件(如Receiver或Activity等)2021-07-10 11:52:30

    private void disableComponent(Context context, String klass) { ComponentName name = new ComponentName(context, klass); PackageManager pm = context.getPackageManager(); // We need the DONT_KILL_APP flag, otherwise we wi

  • Django中ORM取多对多指定字段值2021-07-09 12:31:55

    在Django多对多关联中,需要取关联表里面的指定字段,有两种方式 第一种 循环一个列表对象 for item in monitor_items_obj: if item.receiver_role.all().values(): #取这个对象的所有角色,并且获取字段role_msg的信息 role_list = [i.get('role_msg') for i in

  • Alertmanager 配置解析2021-07-02 12:04:35

    配置文件 global: resolve_timeout: 5m smtp_from: ops@example.com smtp_smarthost: smtp.exmail.qq.com:465 smtp_hello: k8s smtp_auth_username: ops@example.com smtp_auth_password: <secret> smtp_require_tls: false route: group_by: [alertname

  • springboot(八):RabbitMQ详解2021-06-30 09:53:53

    RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者

  • 可编程网关 Pipy 第三弹:事件模型设计2021-06-27 10:01:10

    自从参加了 Flomesh 的 workshop,了解了可编程网关 Pipy。对这个“小东西”充满了好奇,前后写了两篇文章,看了部分源码解开了其部分面纱。但始终未见其全貌,没有触及其核心设计。 不是有句话,“好奇害死猫”。其实应该还有后半句,“满足了就没事”(见维基百科)。 所有就有了今天的这

  • Proxy&Reflect(vue3.0响应式数据劫持原理)2021-06-15 20:00:12

    let arr = [1,2,3] let proxy = new Proxy(arr,{ // 获取值时触发 get(target,key,receiver){ console.log('获取值'); // Reflect和Proxy都是成对出现的 (Reflect一般被叫做反射) // const res = Reflect.get(target,key,receiver) 这句话

  • rsync工作机制(翻译)2021-06-11 16:58:00

    本篇为rsync官方推荐文章How Rsync Works的翻译,主要内容是Rsync术语说明和简单版的rsync工作原理。本篇没有通篇都进行翻译,前言直接跳过了,但为了文章的完整性,前言部分的原文还是保留了。 本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html How Rsync Works A Prac

  • 每日日报2021-06-01 15:02:28

    特殊广播接收者 四大组件只有广播接收者可以不在清单文件中注册 静态注册 在清单文件中 通过声明一个receiver节点 指定intent-filter 这种方式就是静态注册   动态注册  registerReceiver(receiver, filter);  注销的方法 unregisterReceiver(receiver); 1.public class

  • java命令模式的缺点2021-05-25 11:02:37

    命令模式 命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实

  • vue3.0新特性2021-05-18 21:58:16

    重构响应式系统 使用ES6的Proxy代替了Obejct.defineProperty // 操作obj对象的key属性,第三个参数是属性描述符,返回值为操作对象 Object.defineProperty(obj, "key", { //为true的时候会出现再枚举中 enumerable: false, //为true的时候属性描述符可变 configurable:

  • Computer Networking: Notes of "Select" Lectures (Chapter 3: Transport Layer)2021-05-16 03:02:09

    Computer Networking: a Top-Down Approach (8th ed.): Notes of "Select" Lectures   Chapter 3 Transport Layer 3.1 Introduction and Transport-layer Services Transport-layer services and protocols. Transport layer actions. •    provide logical com

  • Android四大组件:BroadcastReceiver史上最全面解析2021-05-13 16:03:44

    https://www.jianshu.com/p/ca3d87a4cdf3 LocalBroadcastManager 实现原理 LocalBroadcastManager采用的是Handler的消息机制来处理的广播,而注册到系统中的是通过Binder机制实现的,速度是应用内广播要快很多。不过由于Handler的消息机制是为了同一个进程的多线程间进行通信的

  • Java设计模式——命令模式2021-05-12 13:57:42

    参考文章:java设计之道 命令模式 命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不

  • Kotlin之let,apply,with,run函数区别2021-05-10 17:58:13

    重新整理 重新整理了各种函数的区别,请移步到这里。 以下作废 很长一段时间内都一直使用Kotlin这门语言,也只是纯粹使用简单语法,最近有时候写的代码,编辑器自动提示使用let等函数,然后就专门花点时间研究了下。 let 首先let()的定义是这样的,默认当前这个对象作为闭包的it参数,返回

  • go在什么情况下使用指针2021-05-10 10:59:46

    推荐在方法上使用指针(前提是这个类型不是 map、slice ,channel 等引用类型)当结构体较大的时候使用指针会更高效,可以避免内存拷贝,“结构较大” 到底多大才算大可能需要自己或团队衡量,如超过 5 个字段或者根据结构体内存占用来计算如果要修改结构体内部的数据或状态必须使用指针如

  • 设计模式之命令模式2021-04-25 08:01:31

    命令模式 命令模式结构图: 示例代码: // 命令接受者,负责具体执行命令 public class Receiver { public void action(){ System.out.println("开始执行命令========"); } } // 命令抽象类 public interface Command { void execute(); } // 具体命令角色A public

  • 使用Python实现12306自动化抢票2021-04-22 22:31:13

    今天实现用python实现自动访问12306网站并抢票 准确工作 1.下载Chrome 驱动,需要与chrome版本保持一致 如何查看chrome浏览器版本-百度经验 (baidu.com) 2.下载代码中的相关包,主要selenuim、splinter 注意事项:sleep设置时注意爬取速度限制,chrome版本与驱动器版本需要保持一致,由

  • Android 广播的那些 注意点2021-04-19 12:32:54

    目录1. 广播的权限2. 广播的限制 1. 广播的权限 ​ 我们在发送广播和接收广播的时候都是可以带上权限的 ​ 1. 对于发送: sendBroadcast("com.android.XXX_ACTION", "com.android.permission.RECV_XXX"); ​ 第二个参数permission代表的是 谁能接收我的广播,也就是 待接收方在Andr

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有