ILD

node.js introduction
2024-4-21
javascript以前只有一个运行环境,那就是浏览器,2009年,Ryan Dahl基于chrome v8引擎,实现了node.js,可以运行javascript,这样javascript有了一个新的独立运行环境,使得javascript可以作为一种服务器语言。官方的宣传:Run JavaScri

a integer overflow bug
2024-4-26
最近碰到了一个整数溢出的问题,排查了半天代码如下:1234567891011121314151617struct fs_opened { int slice_size; int next_slice; ...} static int start_upload

git log format show
2024-4-28
我最常使用的是 --stat,但是这个会缩写路径,有时候不是很友好, .../generic/backport-6.6/790-02-v6.7-net-dsa-mt753x-remove-mt753x_phylink_pcs_link_up.patch | 4 +- .../backport-

Fedora always show bottom dock
2024-4-30
Fedora打开app的时候,会隐藏底部的dock,很麻烦,如何一直显示呢:方法如下:$ sudo dnf install gnome-shell-extension-dash-to-dock$ sudo dnf install gnome-extensions-app登出,再登陆,打开extens

Fedora 40 install build tools
2024-4-30
ubuntu上一键安装开发工具,如make, gcc,可以安装build-essential。dnf也有类似的:dnf install @development-tools$ sudo dnf install @development-tools[sudo] password for yuanjp:

openssl build error Can't locate FindBin.pm
2024-4-30
编译openssl失败:Can't locate FindBin.pm in @INC (you may need to install the FindBin module) (@INC entries checked: /usr/local/lib64/perl5/5.38 /usr/local

per thread variable
2024-5-9
每线程变量,官方叫法是:Thread-local storage (TLS)。这种变量每个线程都会有一个实例,很多场景需要每线程变量,最典型的就是errno。每线程变量,使用__thread关键字定义,这个关键字不是c语言标准定义的,而是业界(编译器开发者)根据实际需要扩展的。下面例子,主线程和子线

poll event using eventfd
2024-5-13
在主线程等待子线程的事件发生,可以使用pthread_cond_wait(),缺点是,如果主线程使用poll做多路复用,那么pthread_cond_wait()无法融合进去。一种解决方案是创建一个匿名管道,然后子线程写数据,主线程读数据。这种方案确实可行。缺点是,唤醒多少次,就要收多少数据,另外就

rb tree
2024-5-13
红黑树是一种二叉搜索树,它最长路径不超过最短路径的2倍,没有AVL树那么平衡。红黑树的约束:1 节点是红色或者黑色2 根节点是黑色3 叶子节点(NIL节点)是黑色4 红色节点的子结点是黑色5 根节点到任意叶子节点,黑色节点的数量相同上述约束,隐含的约束是:1 红色节点的父节点是黑色节点(否则违反4)

rb tree deletetion
2024-5-16
学习本文前,需要看本文的前一篇介绍红黑树和插入的文章。https://linuxdev.cc/article/a0gffr.html rb树删除比添加要复杂许多。先进行删除,然后根据情况进行旋转处理。删除处理1 被删除的节点没有儿子根据节点颜色处理有不同。1.1 如果是红色节点那么直接删除就可以了,

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.