From e86d7f26c11f9d1521856a9d74c597ec037c0a5d Mon Sep 17 00:00:00 2001
From: muqiuhan
Date: Mon, 30 Jun 2025 14:11:37 +0000
Subject: deploy: 938f8bacb576db7d6797b57e5e65475eef23673c
---
search.xml | 120 ++++++++++++++++++++++++++++++-------------------------------
1 file changed, 60 insertions(+), 60 deletions(-)
(limited to 'search.xml')
diff --git a/search.xml b/search.xml
index 3cd820f6..77d70039 100644
--- a/search.xml
+++ b/search.xml
@@ -2666,18 +2666,6 @@ await prisma.$transaction(async tx => {
Technique
-
- tick thread在Multicore OCaml中的作用
- /2023/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/
- Multicore OCaml的程序在启动时会运行一个 tick thread,其实现如下:
-static void * caml_thread_tick (void * arg) { struct timeval timeout ; sigset_t mask; sigfillset(&mask); pthread_sigmask(SIG_BLOCK, &mask, NULL ); while (! caml_tick_thread_stop) { timeout.tv_sec = 0 ; timeout.tv_usec = Thread_timeout * 1000 ; select(0 , NULL , NULL , NULL , &timeout); caml_record_signal(SIGPREEMPTION); } return NULL ; }
-
-这是因为Multicore OCaml的GC目前需要一个进程(或一个Domain)中的所有线程一起参与以避免并发访问。如果一个线程在system call上被阻塞,那么整个Domain就会被卡住,直到该线程可以参与当前的垃圾收集。为了避免这个问题,tick 线程可以代替被阻塞的线程执行垃圾收集操作。
-]]>
-
- Technique
-
-
UUID v7 是如何加快 RDBMS 索引速度的
/2025/04/13/uuidv7-rdbms/
@@ -3236,6 +3224,18 @@ await prisma.$transaction(async tx => {
gallery
+
+ tick thread在Multicore OCaml中的作用
+ /2023/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/
+ Multicore OCaml的程序在启动时会运行一个 tick thread,其实现如下:
+static void * caml_thread_tick (void * arg) { struct timeval timeout ; sigset_t mask; sigfillset(&mask); pthread_sigmask(SIG_BLOCK, &mask, NULL ); while (! caml_tick_thread_stop) { timeout.tv_sec = 0 ; timeout.tv_usec = Thread_timeout * 1000 ; select(0 , NULL , NULL , NULL , &timeout); caml_record_signal(SIGPREEMPTION); } return NULL ; }
+
+这是因为Multicore OCaml的GC目前需要一个进程(或一个Domain)中的所有线程一起参与以避免并发访问。如果一个线程在system call上被阻塞,那么整个Domain就会被卡住,直到该线程可以参与当前的垃圾收集。为了避免这个问题,tick 线程可以代替被阻塞的线程执行垃圾收集操作。
+]]>
+
+ Technique
+
+
二〇二四年四月八日
/2024/04/08/%E4%BA%8C%E3%80%87%E4%BA%8C%E5%9B%9B%E5%B9%B4%E5%9B%9B%E6%9C%88%E5%85%AB%E6%97%A5/
@@ -3580,18 +3580,6 @@ await prisma.$transaction(async tx => {
Technique
-
- 儿童新型冠状病毒Omicron株和肺炎支原体混合感染重症肺炎1例
- /2023/10/25/%E5%84%BF%E7%AB%A5%E6%96%B0%E5%9E%8B%E5%86%A0%E7%8A%B6%E7%97%85%E6%AF%92Omicron%E6%A0%AA%E5%92%8C%E8%82%BA%E7%82%8E%E6%94%AF%E5%8E%9F%E4%BD%93%E6%B7%B7%E5%90%88%E6%84%9F%E6%9F%93%E9%87%8D%E7%97%87%E8%82%BA%E7%82%8E1%E4%BE%8B/
- 患儿 男, 3 岁 10 月龄,因“间歇发热 2 周伴咳嗽、气促”入上海交通大学医学院附属仁济医院(南部院区)定点医院隔离病房。 患儿病初发热,确诊为新型冠状病毒肺炎(简称新冠肺炎),热退 2d 再次持续高热>3d 伴气促、吸气性凹陷,胸部 CT 示右肺下叶片状密度影,诊断“重型新冠肺炎”,行支气管镜肺泡灌洗,宏基因组病原检测确诊为混合肺炎支原体感染,治疗好转出院。 提示临床医生诊治重型新冠肺炎时需警惕混合感染
-
-]]>
-
- Medicine
-
-
冬季咳嗽辨别指南
/2023/10/22/%E5%86%AC%E5%AD%A3%E5%92%B3%E5%97%BD%E8%BE%A8%E5%88%AB%E6%8C%87%E5%8D%97/
@@ -3658,6 +3646,18 @@ await prisma.$transaction(async tx => {
Life
+
+ 儿童新型冠状病毒Omicron株和肺炎支原体混合感染重症肺炎1例
+ /2023/10/25/%E5%84%BF%E7%AB%A5%E6%96%B0%E5%9E%8B%E5%86%A0%E7%8A%B6%E7%97%85%E6%AF%92Omicron%E6%A0%AA%E5%92%8C%E8%82%BA%E7%82%8E%E6%94%AF%E5%8E%9F%E4%BD%93%E6%B7%B7%E5%90%88%E6%84%9F%E6%9F%93%E9%87%8D%E7%97%87%E8%82%BA%E7%82%8E1%E4%BE%8B/
+ 患儿 男, 3 岁 10 月龄,因“间歇发热 2 周伴咳嗽、气促”入上海交通大学医学院附属仁济医院(南部院区)定点医院隔离病房。 患儿病初发热,确诊为新型冠状病毒肺炎(简称新冠肺炎),热退 2d 再次持续高热>3d 伴气促、吸气性凹陷,胸部 CT 示右肺下叶片状密度影,诊断“重型新冠肺炎”,行支气管镜肺泡灌洗,宏基因组病原检测确诊为混合肺炎支原体感染,治疗好转出院。 提示临床医生诊治重型新冠肺炎时需警惕混合感染
+
+]]>
+
+ Medicine
+
+
发热及超高热危象
/2023/06/17/%E5%8F%91%E7%83%AD%E5%8F%8A%E8%B6%85%E9%AB%98%E7%83%AD%E5%8D%B1%E8%B1%A1/
@@ -3982,31 +3982,6 @@ await prisma.$transaction(async tx => {
Design
-
- 实时搜索中的防抖函数
- /2025/02/10/%E5%AE%9E%E6%97%B6%E6%90%9C%E7%B4%A2%E4%B8%AD%E7%9A%84%E9%98%B2%E6%8A%96%E5%87%BD%E6%95%B0/
- 在实现实时搜索功能时,通常会使用输入框的事件监听器来捕获用户的输入变化,并在输入变化时发送搜索请求。为了避免过多的请求导致服务器负担过重,通常会使用“防抖”(debounce)技术来控制请求的频率。
-实现步骤
-监听输入框的变化:使用input事件监听器来捕获用户的输入变化。
-防抖处理:使用防抖函数来限制请求的频率。防抖函数会在用户停止输入一段时间后才发送请求。
-发送请求:在防抖函数中调用搜索请求。
-
-防抖函数示例 以下是一个简单的防抖函数示例:
-function debounce (func, wait ) { let timeout; return function (...args ) { const context = this ; clearTimeout (timeout); timeout = setTimeout (() => func.apply (context, args), wait); }; }
-
-实现实时搜索 假设你有一个输入框用于搜索患者:
-<script> import { onMount } from 'svelte'; import { patientsStore } from '$lib/stores/patients.svelte'; let searchTerm = ''; // 防抖函数 function debounce(func, wait) { let timeout; return function(...args) { const context = this; clearTimeout(timeout); timeout = setTimeout(() => func.apply(context, args), wait); }; } // 搜索函数 const searchPatients = debounce(async (term) => { if (term) { // 发送搜索请求 const response = await fetch(`/api/search-patients?query=${term}`); const data = await response.json(); patientsStore.mbglPatients = data; } else { // 清空搜索结果或恢复默认数据 patientsStore.mbglPatients = []; } }, 300); // 300ms 的防抖时间 // 监听输入框变化 function handleInput(event) { searchTerm = event.target.value; searchPatients(searchTerm); } </script> <input type="text" placeholder="搜索患者..." on:input={handleInput} bind:value={searchTerm} />
-
-请求发送间隔
-防抖时间:通常设置为 300ms 到 500ms 之间。这个时间足够让用户完成输入并减少不必要的请求。
-考虑用户体验:防抖时间过短可能导致过多请求,过长则可能让用户感到延迟。300ms 是一个常用的折中值。
-
-通过这种方式,你可以实现一个高效的实时搜索功能,既能保证用户体验,又能减少服务器的负担。
-]]>
-
- Technique
-
-
急诊与灾难医学--烧伤
/2024/01/25/%E6%80%A5%E8%AF%8A%E4%B8%8E%E7%81%BE%E9%9A%BE%E5%8C%BB%E5%AD%A6-%E7%83%A7%E4%BC%A4/
@@ -4141,6 +4116,31 @@ await prisma.$transaction(async tx => {
Medicine
+
+ 实时搜索中的防抖函数
+ /2025/02/10/%E5%AE%9E%E6%97%B6%E6%90%9C%E7%B4%A2%E4%B8%AD%E7%9A%84%E9%98%B2%E6%8A%96%E5%87%BD%E6%95%B0/
+ 在实现实时搜索功能时,通常会使用输入框的事件监听器来捕获用户的输入变化,并在输入变化时发送搜索请求。为了避免过多的请求导致服务器负担过重,通常会使用“防抖”(debounce)技术来控制请求的频率。
+实现步骤
+监听输入框的变化:使用input事件监听器来捕获用户的输入变化。
+防抖处理:使用防抖函数来限制请求的频率。防抖函数会在用户停止输入一段时间后才发送请求。
+发送请求:在防抖函数中调用搜索请求。
+
+防抖函数示例 以下是一个简单的防抖函数示例:
+function debounce (func, wait ) { let timeout; return function (...args ) { const context = this ; clearTimeout (timeout); timeout = setTimeout (() => func.apply (context, args), wait); }; }
+
+实现实时搜索 假设你有一个输入框用于搜索患者:
+<script> import { onMount } from 'svelte'; import { patientsStore } from '$lib/stores/patients.svelte'; let searchTerm = ''; // 防抖函数 function debounce(func, wait) { let timeout; return function(...args) { const context = this; clearTimeout(timeout); timeout = setTimeout(() => func.apply(context, args), wait); }; } // 搜索函数 const searchPatients = debounce(async (term) => { if (term) { // 发送搜索请求 const response = await fetch(`/api/search-patients?query=${term}`); const data = await response.json(); patientsStore.mbglPatients = data; } else { // 清空搜索结果或恢复默认数据 patientsStore.mbglPatients = []; } }, 300); // 300ms 的防抖时间 // 监听输入框变化 function handleInput(event) { searchTerm = event.target.value; searchPatients(searchTerm); } </script> <input type="text" placeholder="搜索患者..." on:input={handleInput} bind:value={searchTerm} />
+
+请求发送间隔
+防抖时间:通常设置为 300ms 到 500ms 之间。这个时间足够让用户完成输入并减少不必要的请求。
+考虑用户体验:防抖时间过短可能导致过多请求,过长则可能让用户感到延迟。300ms 是一个常用的折中值。
+
+通过这种方式,你可以实现一个高效的实时搜索功能,既能保证用户体验,又能减少服务器的负担。
+]]>
+
+ Technique
+
+
慢性肺源性心脏病
/2024/01/23/%E6%85%A2%E6%80%A7%E8%82%BA%E6%BA%90%E6%80%A7%E5%BF%83%E8%84%8F%E7%97%85/
@@ -4818,17 +4818,6 @@ await prisma.$transaction(async tx => {
一般7~14天可好转
-]]>
-
- Medicine
- Life
-
-
-
- 藿香正气水和藿香正气口服液的区别
- /2024/09/01/%E8%97%BF%E9%A6%99%E6%AD%A3%E6%B0%94%E6%B0%B4%E5%92%8C%E8%97%BF%E9%A6%99%E6%AD%A3%E6%B0%94%E5%8F%A3%E6%9C%8D%E6%B6%B2%E7%9A%84%E5%8C%BA%E5%88%AB/
- 虽然都是口服液体制剂,且看起来单支容量都一样,但是藿香正气水里含有 40%-50% 的乙醇,而藿香正气口服液不含有乙醇。同时藿香正气水不能和头孢一起服用(因为含有酒精),而藿香正气口服液可以和头孢一起服用。在选用之前,还希望大家能仔细看药品名称。
-正气水是酊剂,用的是生半夏,口服液用的是法半夏,比正气水多了炒的白术,生姜和大枣,两者的功效都是解表化湿,理气和中。藿香正气水由水煮及酒浸制而成,疗效最明显,但口感较差。由于霍香正气水药效比较峻猛,小儿和年老体虚者服用时应有医生指导。藿香正气口服液是藿香正气的换代产品。
]]>
Medicine
@@ -4896,6 +4885,17 @@ await prisma.$transaction(async tx => {
Medicine
+
+ 藿香正气水和藿香正气口服液的区别
+ /2024/09/01/%E8%97%BF%E9%A6%99%E6%AD%A3%E6%B0%94%E6%B0%B4%E5%92%8C%E8%97%BF%E9%A6%99%E6%AD%A3%E6%B0%94%E5%8F%A3%E6%9C%8D%E6%B6%B2%E7%9A%84%E5%8C%BA%E5%88%AB/
+ 虽然都是口服液体制剂,且看起来单支容量都一样,但是藿香正气水里含有 40%-50% 的乙醇,而藿香正气口服液不含有乙醇。同时藿香正气水不能和头孢一起服用(因为含有酒精),而藿香正气口服液可以和头孢一起服用。在选用之前,还希望大家能仔细看药品名称。
+正气水是酊剂,用的是生半夏,口服液用的是法半夏,比正气水多了炒的白术,生姜和大枣,两者的功效都是解表化湿,理气和中。藿香正气水由水煮及酒浸制而成,疗效最明显,但口感较差。由于霍香正气水药效比较峻猛,小儿和年老体虚者服用时应有医生指导。藿香正气口服液是藿香正气的换代产品。
+]]>
+
+ Medicine
+ Life
+
+
血常规化验结果阅读指南
/2023/10/12/%E8%A1%80%E5%B8%B8%E8%A7%84%E5%8C%96%E9%AA%8C%E7%BB%93%E6%9E%9C%E9%98%85%E8%AF%BB%E6%8C%87%E5%8D%97/
--
cgit v1.2.3