Ubuntu 20.04 安装Mysql Server 8.0以及配置远程登录
1. 安装MySQL并使用默认运维账号登录
sudo apt intall mysql-server-8.0 sudo cat /etc/mysql/debian.cnf # 获取MySQL运维账号密码
mysql -u debian-sys-maint -pxxx # xxx为上述命[……]
sudo apt intall mysql-server-8.0 sudo cat /etc/mysql/debian.cnf # 获取MySQL运维账号密码
mysql -u debian-sys-maint -pxxx # xxx为上述命[……]
在我们的系统中,需要通过定时任务来触发终端的离线事件
每次终端有数据上报时,更新终端在线状态为在线:online = 1,last_uploaded_at为上报时间
而定时任务每分钟触发一次批量操作:
简单的数据模型为:
IDonlinelast_upl[……]
背景简介:由于单片机上的RAM资源有限,而我们的物联终端时时刻刻都在采集数据,如果RAM中的数据未来得及发动到服务端(比如进入了信号盲区),我们就希望使用FLASH进行缓存,而FLASH缓存之后如何保证数据的有序性,以及不丢失,就需要在单片机中实现一个理论上无限长的消息队列
其中todo部[……]
信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。通俗来讲,信号就是进程间的一种异步通信机制。
对于内核来说,信号的意义在于通知进程让进程知道已经发生了某个特定事件,或/和强迫进程执行它的信号处理程序,比如本文[……]
安装参考官网资料 https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/
启动mongod, 通过shell进入mongo shell
mongo shell>[……]
从OS / VM角度谈一谈栈的应用
系统中一个栈代表一个执行流,那么到底有多少种栈
首先用户空间,也就是进程至少有一个用户栈(每个线程有一个独立的用户栈)
中断、异常处理程序有独立的调用栈
系统调用有独立的调用栈 – 进程(线程)的内核栈
信号处理程序的执行肯定是在用户[……]
背景介绍:在硬件产线检测中,需要自动化的读取硬件状态,并逐一判断硬件状态是否健康,如:
最近对于这个需求设计了一个DSL,如:
每次工厂产品下线检测只需要设置好对应的DSL脚本,便有产线上位机自动加载并解释执行,以及与硬件串口进行交互检测
[……]
本文涉及到中断/异常、系统调用、信号、进程切换,因为有这之间涉及到很多依赖,而很多概念容易混淆,所以专门梳理一下概念
中断是由间隔定时器和I/O设备产生的,即CPU的外围设备产生,以通知CPU一个事件的发生,硬件上存在可编程中断控制器(PIC, APIC),负责向 CPU[……]
一直对 Java 异常的实现机制搞得不是很懂,也一直没找到比较权威的解释,国内各大论坛一通搜索也没找到合理的解释以消除我的疑问。
貌似只有我抱着这个疑问,可能是国内大牛比较多,这个问题又如此简单,大家已经心照不宣了。
最后终于还是看了一通官方文档才真正搞明白,以下是一些摘要。
A few weeks ago Linus Torvalds answered some questions on slashdot. All his responses[……]
double sqrt_x(double x) { double x0, xn, xn1, diff; double pricision = 1e-10; x0 = x; *((char *)&x0 + 7) &= 0x7f; // x0[......]
最近自己实现了math.h中的一些函数, 目的还是为了熟悉一些原理性的知识, 虽然很多函数都有直接对应的硬件指令了…
#define LLMAX 0x7FFFFFFFFFFFFFFFLL #define LLMIN 0X8000000000000000LL typedef union[......]
一. 轮询
试想这样一种情形, 一个主线程中创建两个(多个)工作线程, 主线程需要等待一个或者多个工作线程执行结束.
比较直接的做法就是主线程中用一个循环, 每次都锁住和工作线程相同的一个互斥锁并检查是否有工作线程已经结束.
#include <stdio.h> #inc[......]
前几天和一朋友聊到手机解锁, 朋友问我有没有想过手机pattern lock有多少种组合方式. 其实这个问题早就想过了, 以前感觉会有很多种特殊情况, 用程序解还不如用排列组合来得快
后来讨论了下, 就决定把问题简化: 只考虑4个点或4个点以上的情形, 并且包含下图这种路径的不算有效的组合方式
[……]
#include <stdlib.h> #include <string.h> #define between(x, min, max) ((x) >= (min) && (x) <= (max)) static inline unsigned[......]