记录学习在Android中使用kotlin.coroutines
学习使用kotlin中的coroutines 学习背景 在学习第一行代码时的Service中的启动子线程来完成异步处理时,书中提到了使用AsyncTask来更方便地操作UI。 但由于Context泄露、回调遗漏、configuration变化导致奔溃、平台差异性等原因,AsyncTask在Andro ...
paxos算法及加锁的思考
paxos算法: proposer, acceptor两个角色 每次proposer提交的都是一个唯一且递增的N maxN是acceptor曾经accept过的最大提案编号 2个步骤:prepare, accept, 两次都要将acceptor的maxN和提案N比较,accept完成后如果响应过半, ...
[Java Stream] Basic terminal operations
To void: forEach, forEachOrdered, peek stream.peek(System.out::println) // print without termination .filter(n -> n > 0) .distinct() .limit(10) .forEa ...
容器编排系统K8s之包管理器Helm基础使用
如果我们把k8s的资源清单类比成centos上的rpm包,那么helm的作用就如同yum;简单讲helm就是类似yum这样的包管理器,它能够让我们在k8s上部署应用变得简单,我们需要部署某些应用到k8s上,我们直接使用helm就可以完成一键部署;有了helm工具,我们甚至都不需要再写什么资源清单了... ...
【C#】通过点击事件与数据库进行交互数据(分析篇)
前言:本文主要以分析需求的角度去实现功能,侧重点是分析而不是代码的实现,所以本文中提供的代码较少,重在培养初学者的分析需求问题的意识。 实现目的:通过按钮事件,让前台数据跟数据库进行数据交互。 模块需求:1.绘制登入页面和注册页面。2.登入功能:去查询数据库数据。3.注册功能:将符合需求的内容插入到 ...
2021春招冲刺 - 01.16 prototype.toString原理、垃圾回收机制与内存泄漏等
2021春招冲刺 01.16日 js面试题汇总 1. Object.prototype.toString.call 是如何判断变量的类型的 参考博客 Object.prototype.toString在es3、es5、es6中的规范 在es6中,使用了 [[NativeBrand]] 内部属性替代原 ...
Codeforces Round #661 (Div. 3)
A. Remove Smallest 大意: 给出n个数,每次可以选择两个差小于等于1的数,然后删掉其中的任意一个,问最后能不能只剩下一个元素 思路: 直接看有没有两个点的差大于2即可 #include <bits/stdc++.h> using namespace std; const int N ...
php 各种框架优缺点 及 laravel框架与thinkPHP框架的区别
一、ThinkPHPThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkP ...
Laravel ,YII,thinkphp 框架的区别
thinkphp框架 1.路由采用PATH_INFO的格式进行访问2.表单无须经过validate验证即可进行数据库crud操作 YII 框架 1.yii有gii作为生成model,controller的辅助2.yii的表单必须由ActiveForm创建的表单类3.yii的表单提交都会经过crlf, ...
JavaWeb实现网上二手车交易平台小项目
网上二手车交易信息平台 Java Web实现方案 纯servlet+MVC架构 Servlet JSP JDBC EL 表达式 JSTL Filter 过滤器 前端采用layui模板美化 数据库采用MySql 要求 会员: 会员注册,基本信息修改; 二手汽车出售信息的编辑、修改、发布(发布后不可再修 ...
浅谈踢人下线的设计思路!(附代码实现方案)
前言 前两天写了一篇文章,主要讲了下java中如何实现踢人下线,原文链接:java中如何踢人下线?封禁某个账号后使其会话立即掉线! 本来只是简单阐述一下踢人下线的业务场景和实现方案,没想到引出那么多大佬把小弟喷的睁不开眼睛,为了避免大家继续喷我,特再写下此篇文章,彻底讲清楚各种场景下踢人下线的设计思 ...
Jumpserver实践
Jumpserver实践 提前准备好jumpserver服务端 source /opt/py3/bin/activate /opt/jumpserver/jms start -d # koko /opt/koko/koko -d /etc/init.d/guacd start sh /opt/tom ...