关于此笔记 不讨论: 1.不讨论Handler实现细节 2.不讨论android线程派发细节 讨论: 子线程如何简单的使用Handler更新UI 问题: android开发时,如何在子线程更新UI? Handler: UI线程主要负责监听UI控件用户输入,进行事件的分发,事件的相应管理.当我们在子线程做完工作之后,由于子线程无法操作UI(因为子线程和UI线程不处于同一个上下文中),所以子线程需要与UI线程进行通信,此时就会用到Handler.可见Handler主要负责不同线程之间的通信. Mes…
一.概述 在应用程序中,线程可以被看做是应用程序的一个较小的执行单位.每个应用程序都至少拥有一个线程,我们称为主线程.当调用和操作主线程的时候,该操作将动作添加到一个队列中,每个操作均按照将它们添加到队列中的顺序连续执行,但是可以通过为这些动作指定优先级来影响执行顺序,而负责管理此队列的对象称之为线程调度程序. 我们知道,WPF程序中,控件是属于UI线程的,如果试图在子线程中访问或者更新UI,就需要在子线程中通知主线程来处理UI, 通过向主线程的Dispatcher队列注册工作项,来通知UI线程…
python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行.列.ALT+P,上一个历史输入内容,ALT+N 下一个历史输入内容.IDLE中按F5可以运行代码. 编辑状态时:Ctrl + [ .Ctrl + ] 缩进代码Alt+3 Alt+4 注释.取消注释代码行Alt+5 Alt+6 切换缩进方式 空格<…
目录 go微服务框架kratos学习笔记六(kratos 服务发现 discovery) http api register 服务注册 fetch 获取实例 fetchs 批量获取实例 polls 批量获取实例 nodes 批量获取节点 renew 心跳 cancel 下线 应用发现逻辑 服务注册 服务注册demo 服务注册逻辑 服务发现 测试调用 简单看看官方grpc服务发现逻辑 context deadline exceeded 简单看看官方grpc服务发现逻辑 go微服务框架kratos学…
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出现,位于文件的最前面和最后面. 2.<head></head>&<body></body> 表示文件头和文件主体,成对出现. (1)文件头是规定该文件标题和一些属性的,例如标题.编码方式.URL等,不出现在网页中,若为无需提供相关信息可省略. (2)文件…
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessController的checkPerssiom方法,访问控制器AccessController的栈检查机制又遍历整个 PerssiomCollection来判断具体拥有什么权限一旦发现栈中一个权限不允许的时候抛出异常否则简单的返回,这个过程实际上比我的描述要复杂 得多,这里我只是简单的一句带过,因为这…
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live 安装: 参考:http://wiki.ros.org/openni_camera --$: sudo apt-get install ros-indigo-openni2* ros-indig…
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescript 学习笔记二:数据类型 Typescript 学习笔记三:函数 Typescript 学习笔记四:回忆Es5 中的类 Typescript 学习笔记五:类 Typescript 学习笔记六:接口 Typescript 学习笔记七:泛型 Typescript 中的接口 接口的作用:在面向对象的编程中…
Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment { } // 类似while for condition { } // 和for(;;)一样 for { } 循环slice,map,数组,字符串还可以使用下面这种方式: for key, value := range oldMap { newMap[key] = value } break 语句…
图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像进行复制与替换. 在开始之前我们还是先来看一下Mat类型的数据存储方式以及对Mat类型变量赋值的方式.Mat类型的图像在内存中包含两部分的内容:矩阵头与图像数据矩阵的指针.矩阵头包含了图像的基本信息(如矩阵尺寸.存储方式.存储地址等),而数据指针则指向图像所有像素值的矩阵.通常复制Mat类型数据有两…
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID,称为进程 ID(PID) 对进程进行管理必须以进程 ID 作为对象,而非进程名称 每个进程都可能以前台或后台两种方式存在,bg 表示后台执行,fg 表示前台执行 在命令后加 & 使进程在后台执行 2.显示进程 可以使用 ps 命令(Process Status)显示当前运行的进程,显示的内容如下:…
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert"> 没什么可给你,但求凭这阙歌.谢谢你风雨里,都不退愿陪着我. </div> 2.警告框关闭按钮:data-am-alert应该是js事件,因为点击后面的关闭按钮真的可以关闭掉 <div class="am-alert" data-am-alert> <…
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控制下拉列表的事件,这部分事件当然可以用jquery来代替 3.下拉列表样例: <div class="am-dropdown" data-am-dropdown> <button class="am-btn am-btn-primary am-dropdown-…
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属):这个控制折叠样式 1.折叠面板:结合 Panel 组件实现手风琴效果.需结合以下辅助 class 使用: 要隐藏的内容添加 .am-collapse: 默认显示的内容添加 .am-collapse.am-in: 添加以上 class 以后,通过 Data API 来调用: <h4 data-am…
amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class="am-btn am-btn-primary btn-loading-example">Submit - Button</button> <input type="button" class="am-btn am-btn-primary b…
Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记(三) 整合 MyBatis + Druid Spring Boot 学习笔记(四) 整合 Druid 监控 Spring Boot 学习笔记(五) 整合 静态资源 Spring Boot 学习笔记(六) 整合 RESTful 参数传递 Spring Boot 学习笔记(七) 整合 Swagger2…
作者:Grey 原文地址:Redis学习笔记六:持久化实验(AOF,RDB) Redis几种持久化方案介绍和对比 AOF方式:https://blog.csdn.net/ctwctw/article/details/105173842 RDB方式:https://blog.csdn.net/ctwctw/article/details/105265689 对比:https://blog.csdn.net/ctwctw/article/details/105147277 准备工作 安装Redis,…
openresty 学习笔记六:使用session库 lua-resty-session 是一个面向 OpenResty 的安全和灵活的 session 库,它实现了 Secure Cookie Protocol.项目地址:https://github.com/bungle/lua-resty-session 使用方法有很多种,我这里只使用简单的用redis存储session 先要修改redis配置文件vim /usr/local/redis/etc/redis.conf,开启unix sock…
作者:Grey 原文地址:Java IO学习笔记六:NIO到多路复用 虽然NIO性能上比BIO要好,参考:Java IO学习笔记五:BIO到NIO 但是NIO也有问题,NIO服务端的示例代码中往往会包括如下代码:即:遍历所有的SocketChannel,获取能读写数据的客户端,当客户端数量非常多的时候,服务端要轮询所有连接的客户端拿数据(recv调用),很多调用是无意义的,这样会导致频繁的用户态切换成内核态,导致性能变差. .... //遍历已经链接进来的客户端能不能读写数据 for (Sock…
http://www.cnblogs.com/chongxin/p/3876575.html Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我们还是先看眼前吧. 一.实现思想 商城的功能是很多游戏都拥有的,按下一个界面按钮,弹出一个窗体. 然后是商城中的商品可以拖动,既可以用手,也可以用滑条等等,至于点击购买就不单单是UI层的事了.等到实现NDate的时候再进行讨论. 二.实现背景 1.NGUI->Open->Prefab tool b…
嗯,作为一只蒟蒻,今天再次学习了状压dp(学习借鉴的博客) 但是,依旧懵逼·································· 这篇学习笔记是我个人对于状压dp的理解,如果有什么不对的地方,希望大家指出. 闲话不多说,进入正题. 首先,在介绍状压dp之前,我们先来了解一下状态压缩(常用的为二进制,why?[因为其他的我不会]). 什么是状态压缩呢?顾名思义,就是将数转换为二进制来进行一些操作. 基本操作: 看完基本操作,我们来看一下一些稍微复杂的操作. 操作 运算 取出整数n在二…
前言 在上一章vue学习笔记(四)事件处理器这一篇博客的内容中,我们已经了解vue是如何绑定事件的,而本篇博客主要讲解的是vue中表单输入的绑定,通常我们自己提交信息的时候都是通过表单将信息到服务器的,例如登陆.注册等等.但是直接提交的话可能存在恶意的行为,尽管服务器那边对我们提交的信息进行处理,但是无形之中还是会增加服务器的压力,为了减少服务器的压力,vue也提供了一系列简便的方法供我们使用,允许我们在提交信息的时候进行处理,确保数据的准确性,这样就可以大大的减少服务器的压力,那么一起来看看v…
在IBatis.Net学习笔记五--常用的查询方式 中我提到了一些IBatis.Net中的查询,特别是配置文件的写法. 后来通过大家的讨论,特别是Anders Cui 的提醒,又发现了其他的多表查询的方式.在上一篇文章中我提到了三种方式,都是各有利弊:第一种方式当数据关联很多的情况下,实体类会很复杂:第二种方式比较灵活,但是不太符合OO的思想(不过,可以适当使用):第三种方式最主要的问题就是性能不太理想,配置比较麻烦. 下面是第四种多表查询的方式,相对第二种多了一点配置,但是其他方面都很好(当然…
最近在搞一个外包项目,有个非常厉害的师兄带我,他写后端,我负责前端部分,项目合作需要用到github,这也是早晚要接触,记录下项目过程中对github/git使用的学习笔记. 1.在网上看了一些教程之后在自己的github上创建了一个仓库,然后尝试创建分支,push,感觉好像可以了之后,就在项目上建立分支然后push,由于第一次使用不太明白,不小心push到主分支上去了,网上看到的创建分支是git branch branch_name 然后切换到分支git checkout branch_nam…
转自:http://blog.chinaunix.net/uid-20776117-id-3212095.html 本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! input_report_key()向子系统报告事件 在 button_interrupt()中断函数中,不需要考虑重复按键的重复点击情况,input_report_key()函数会自动检查这个问题,并报告一次事件给输入子系统.该函数的代码如下: C++代码 static inline void in…
在之前的Netty相关学习笔记中,学习了如何去实现聊天室的服务段,这里我们来实现聊天室的客户端,聊天室的客户端使用的是Html5和WebSocket实现,下面我们继续学习. 创建客户端 接着第五个笔记说,第五个笔记实现了简单的静态资源服务起,那么我们利用这个静态资源服务起为我们提供页面,创建一个socket.html页面,在这个页面中我们实现Socket连接,连接到我们的Netty搭建的聊天服务器上,因此我们需要创建一个聊天页面和Socket连接,这里我们假定Socket连接地址为 http:/…
Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime time.strftime os模块:主要针对操作系统的一些方法,如:切换目录 sys模块:跟python解释器交互使用. shutil模块:针对目录或文件的复制,拷贝,重命名的操作等. hashlib模块:摘要算法模块. 1.文件的一致性校验 2.用户的加密认证 3.不可逆性,撞库,加盐 json/p…
ES6学习笔记(2019.7.29) 目录 ES6学习笔记(2019.7.29) let和const let let 基本用法 let 不存在变量提升 暂时性死区 不允许重复声明 块级作用域 级作用域 ES6的块级作用域 块级作用域与函数声明 const 基本用法 本质 顶层对象 解构赋值 数组的解构 基本用法 默认值 对象的解构 基本用法 默认值 注意点 字符串的解构 数值布尔值的解构 函数参数的解构 圆括号问题 不能使用圆括号的情况 可以使用圆括号的情况 用途 for.for in.for…
一.概述 本文与其说是MVVMLight框架的学习,不如说是温故一下数据的双向绑定. 二.Demo 建立好MVVMLight框架后的Wpf工程后,建立一个Model.Model.View以及ViewModel的代码如下: 1 using GalaSoft.MvvmLight; 2 3 namespace MvvmLightDemo1.Model 4 { 5 public class WelcomeModel : ObservableObject 6 { 7 private string welc…
1 基础知识 为什么学习 JavaScript? JavaScript web 开发人员必须学习的 门语言中的一门: HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的行为 --------------------------------------------------------------------------------- JavaScript 与 Java 是两种完全不同的语言,无论在概念上还是设计上.Java(由 Sun 发明)是更复杂的编程语言.…