From 17e9059a904c1d9f58063aace4cc4feed4dfc5b7 Mon Sep 17 00:00:00 2001
From: muqiuhan
The first commonly accepted definition of FUO was published in 1961 and included fever greater than 101F (38.3C) on multiple occasions at least 3 week duration of fever without identifiable cause despite at least a 1 week inpatient evaluation.
Overtime, this definition was considered both too rigid and too ill defined.
Given the impracticality of prolonged hospitalizations and advancing technology for diagnosis, the duration of work up was shortened to 3 days inpatient evaluation and/or 3 outpatient clinic visits.
这是FUO(不明原因发烧)的综合指南,第一个普遍接受的 FUO 定义是1961 年发布的,包括多次发烧超过三十八度三,发烧持续时间至少 3 周,并且就算住院至少 1 周但仍无明确原因。后面这个定义被认为过于僵化且过于模糊。又改成了三天住院评估和/或三次门。除了有关评估持续时间的所有时间要求,还应该将 FUO 定义为完成最低限度检查后缺乏已知病因的发烧。
+常见原因就感染性,自身免疫和结缔组织疾病,其他炎症过程和恶性肿瘤。结缔组织疾病和自身免疫性疾病是青少年 FUO 比儿童更常见的原因。
总体上有超过两百种病因可导致 FUO
Overtime, this definition was considered both too rigid and too ill defined.
Given the impracticality of prolonged hospitalizations and advancing technology for diagnosis, the duration of work up was shortened to 3 days inpatient evaluation and/or 3 outpatient clinic visits.
这是FUO(不明原因发烧)的综合指南,第一个普遍接受的 FUO 定义是1961 年发布的,包括多次发烧超过三十八度三,发烧持续时间至少 3 周,并且就算住院至少 1 周但仍无明确原因。后面这个定义被认为过于僵化且过于模糊。又改成了三天住院评估和/或三次门。除了有关评估持续时间的所有时间要求,还应该将 FUO 定义为完成最低限度检查后缺乏已知病因的发烧。
-常见原因就感染性,自身免疫和结缔组织疾病,其他炎症过程和恶性肿瘤。结缔组织疾病和自身免疫性疾病是青少年 FUO 比儿童更常见的原因。
总体上有超过两百种病因可导致 FUO
[^1]: Decipad 博客 “Collaborative and Offline Editing Using CRDTs”
https://www.decipad.com/blog/decipads-innovative-method-collaborative-and-offline-editing-using-crdts
[^2]: Hacker News 讨论(CRDT 相关线程)
https://news.ycombinator.com/item?id=38289327
在这个 PR 中支持了 Native AOT
https://github.com/commandlineparser/commandline/pull/913
除此之外,还有一个更加精巧的 F# 库可以用,只有两百多行:
https://github.com/B2R2-org/FsOptParse/
AOT 后的大小很可观,并且支持 full trim.
+用例:
+(** defines a state to pass to the option parser *) |
在这个 PR 中支持了 Native AOT
https://github.com/commandlineparser/commandline/pull/913
除此之外,还有一个更加精巧的 F# 库可以用,只有两百多行:
https://github.com/B2R2-org/FsOptParse/
AOT 后的大小很可观,并且支持 full trim.
-用例:
-(** defines a state to pass to the option parser *) |
^o3 |
Allow maximum number of domains to be specified as a OCAMLRUNPARAM parameter #13272
+A new abstract data type of enumerations in Set.Make(Ord).Enum #13195
+Emphasize that Bigarray.int refers to the OCaml int type, and not the C int type #12298
+[ANN] A small extension of Bigarray.Genarray adding iteration, mapping and folding
+Combinations of Reusable Abstract Domains for a Multilingual Static Analyzer
+Exploring the Docusaurus+Odoc comboType system and polymorphic let’sExploring the Docusaurus+Odoc combo
+Gitlab - MOPSA/MOPSA analyzer: stands for Modular and Open Platform for Static Analysis.
+GitHub - mbarbin/bopkit: An educational project for digital circuits programming
+GitHub - dx3mod/rpmfile: A library for reading metadata from RPM packages.
+Github - gildor478/ocaml-fileutils: OCaml API to manipulate real files (POSIX like) and filenames
+Github - NathanReb/ocaml-api-watch: Libraries and tools to keep watch on you OCaml lib’s API changes
+^o3 |
Allow maximum number of domains to be specified as a OCAMLRUNPARAM parameter #13272
-A new abstract data type of enumerations in Set.Make(Ord).Enum #13195
-Emphasize that Bigarray.int refers to the OCaml int type, and not the C int type #12298
-[ANN] A small extension of Bigarray.Genarray adding iteration, mapping and folding
-Combinations of Reusable Abstract Domains for a Multilingual Static Analyzer
-Exploring the Docusaurus+Odoc comboType system and polymorphic let’sExploring the Docusaurus+Odoc combo
-Gitlab - MOPSA/MOPSA analyzer: stands for Modular and Open Platform for Static Analysis.
-GitHub - mbarbin/bopkit: An educational project for digital circuits programming
-GitHub - dx3mod/rpmfile: A library for reading metadata from RPM packages.
-Github - gildor478/ocaml-fileutils: OCaml API to manipulate real files (POSIX like) and filenames
-Github - NathanReb/ocaml-api-watch: Libraries and tools to keep watch on you OCaml lib’s API changes
-而这似乎并没有好的解决方案,理想中的实现应该是:
module Styled = (Component: { |
或者退一步:
-type styledProps = { |
但这在当前的 rescript 中,根本无法实现。
-详细的讨论看这个帖子:
- -]]> -struct Meters(f64); |
这个例子使用 newtype 模式避免将原始类型f64用于不同的量度,从而增强了类型的安全性。
-struct Kilometers(f64); |
这里,Kilometers有一个方法to_miles,该方法是不会影响其他f64数据的。如果我们有另一个表示温度的f64类型,就不会意外调用到与距离相关的方法。
-New Type模式同样适用于对Box<dyn SomeTrait>类型的包装,这可以在需要动态分派(动态调用实现了某个接口的不同类型的对象的方法)的时候提供便利。通过创建一个New Type来包装这样的Box<dyn SomeTrait>类型,可以提供自定义的方法或实现更多的trait,同时也可以让API更加清晰和易于使用。
在Rust中,New Type模式不仅是类型安全的,还是一种零成本抽象。这是因为Rust编译器在编译时期会进行足够的优化,以确保New Type的使用没有运行时开销。 Rust的零成本抽象原则确保了抽象不会引入额外的运行时成本。例如,当你使用Meters这样的New Type时,Rust确保:
-或者退一步:
+type styledProps = { |
但这在当前的 rescript 中,根本无法实现。
+详细的讨论看这个帖子:
+ ]]>现在生成的 TypeScript 文件将会从 Js.shim.ts import 类型:
import type {Json_t as Js_Json_t} from '../../src/model/Js.shim.ts'; |
struct Meters(f64); |
这个例子使用 newtype 模式避免将原始类型f64用于不同的量度,从而增强了类型的安全性。
+struct Kilometers(f64); |
这里,Kilometers有一个方法to_miles,该方法是不会影响其他f64数据的。如果我们有另一个表示温度的f64类型,就不会意外调用到与距离相关的方法。
+New Type模式同样适用于对Box<dyn SomeTrait>类型的包装,这可以在需要动态分派(动态调用实现了某个接口的不同类型的对象的方法)的时候提供便利。通过创建一个New Type来包装这样的Box<dyn SomeTrait>类型,可以提供自定义的方法或实现更多的trait,同时也可以让API更加清晰和易于使用。
在Rust中,New Type模式不仅是类型安全的,还是一种零成本抽象。这是因为Rust编译器在编译时期会进行足够的优化,以确保New Type的使用没有运行时开销。 Rust的零成本抽象原则确保了抽象不会引入额外的运行时成本。例如,当你使用Meters这样的New Type时,Rust确保:
+test.ml:
-Printf.eprintf "hello from OCaml\n%!" |
和test-ocaml-5.c:
|
然后用OCaml5的ocaml native compiler编译一下(这里我用的是ocaml-variants.5.0.0+options):ocamlopt -g test-ocaml-5.c test.ml -o test-ocaml-5
运行test-ocaml-5 会出现:
starting up ... |
这里我尝试了一下 4.14.0 和 4.14.1 , 都没有出现这个情况,而如果用threads编译的话:ocamlopt -g -I +unix unix.cmxa -I +threads threads.cmxa test-ocaml-5.c test.ml -o test-ocaml-5
无论在5.0还是4.14.x,都会挂起。
-出现这个问题的一个可能原因是,在test-ocaml-5.c中,我在开头调用了caml_startup(),这会让当前线程获取锁,而caml_acquire_runtime_system()会再次获取它,caml_acquire_runtime_system() 应该在caml_release_runtime_system()之后调用:
int |
运行结果为:
-starting up ... |
test.ml:
+Printf.eprintf "hello from OCaml\n%!" |
和test-ocaml-5.c:
|
然后用OCaml5的ocaml native compiler编译一下(这里我用的是ocaml-variants.5.0.0+options):ocamlopt -g test-ocaml-5.c test.ml -o test-ocaml-5
运行test-ocaml-5 会出现:
starting up ... |
这里我尝试了一下 4.14.0 和 4.14.1 , 都没有出现这个情况,而如果用threads编译的话:ocamlopt -g -I +unix unix.cmxa -I +threads threads.cmxa test-ocaml-5.c test.ml -o test-ocaml-5
无论在5.0还是4.14.x,都会挂起。
+出现这个问题的一个可能原因是,在test-ocaml-5.c中,我在开头调用了caml_startup(),这会让当前线程获取锁,而caml_acquire_runtime_system()会再次获取它,caml_acquire_runtime_system() 应该在caml_release_runtime_system()之后调用:
int |
运行结果为:
+starting up ... |
options quiet splash amdgpu.dcdebugmask=0x10 amdgpu.sg_display=0 |
对于其他使用 EFI 或 GRUB 启动的发行版也可以添加类似的参数尝试尝试。
-]]> -而在单个Domain中 OCaml 的 runtime 是通过在safe point期间半抢占式的切换线程。也就是说,线程切换只会发生在safe point期间。例如内存分配就是是safe point。这意味着在没有safe point的代码块内,可以在Domain内原子性地进行多次读写或访问操作,因为线程没被切换。
-OCaml 编译器提供了一个名为 [@poll error] 的annotation,可以在函数中使用它来确保该函数不包含safe point。
所以通过使用 [@poll error] 就可以创建在Domain内原子性执行的函数,也就是说,基于此特性可以实现单个Domain内线程安全的数据结构,例如 thread-table 便是使用这个特性实现的 Hash Table。可以看看它的 add 函数的实现:
let[@poll error] add_atomically t buckets n i before after = |
相比使用 Stdlib.Mutex,这种无锁实现会有更好的性能(特别是对于只读操作),并且还允许例如信号处理之类的上下文操作。
]]>http://localhost:3000/products/filter?filters[price][min]=100,可能会意外地遇到 property filters[price][min] should not exist 错误。本文将深入剖析此问题背后的原因,并提供针对 Express 和 Fastify 两种底层框架的解决方案。
+假设我们正在构建一个电子商务平台的后端,需要实现一个商品筛选接口 /products/filter。该接口应允许客户端根据不同的属性(如价格 price、库存 stock)进行筛选,并支持对数值型属性(如价格)指定一个范围。
为了实现这一功能,我们定义了以下 NestJS 数据传输对象 (DTO) 结构:
+import { ApiPropertyOptional } from "@nestjs/swagger"; |
对应的控制器代码如下:
+import { Controller, Get, Query } from '@nestjs/common'; |
当客户端通过以下 URL 发送请求时:
+http://localhost:3000/products/filter?filters[price][min]=100
后端返回了 HTTP 400 错误,并附带以下日志:
+[Nest] 12345 - 07/29/2025, 11:00:00 AM ERROR [HttpExceptionFilter] [GET /products/filter?filters%5Bprice%5D%5Bmin%5D=100] HTTP 400 Error: property filters[price][min] should not exist |
此错误的核心在于 NestJS 的 @Query() 装饰器与 ValidationPipe 在处理 URL 查询字符串时的默认行为,未能正确地将客户端提供的嵌套方括号语法 (filters[price][min]) 解析为 DTO 所期望的 JavaScript 嵌套对象结构。
DTO 的预期结构:ProductFilterDto 定义了 filters 属性,其类型为 ProductAttributeFilterDto。ProductAttributeFilterDto 又包含了 price 属性,类型为 RangeFilterDto,最终含有 min 和 max 属性。这意味着 DTO 期望接收的数据结构应为:{ filters: { price: { min: 100 } } }。
URL 查询参数的扁平化解析:
HTTP 协议的查询字符串本质上是扁平的键值对集合。虽然 key[nestedKey]=value 这种方括号语法被许多 Web 框架(如 PHP、Ruby on Rails)和库(如 qs)广泛用于表示嵌套数据,但这并非 HTTP 协议的标准。
NestJS 依赖其底层 HTTP 适配器(默认为 Express)来解析传入的请求。在默认配置下,Express 不会自动地、递归地将 filters[price][min] 这样的字符串键名解析成一个具有正确嵌套层级的 JavaScript 对象。相反,它会将其视为一个完整的、扁平的字符串键名 filters[price][min],并将其值 100 与之对应。
ValidationPipe 的验证失败:
当 ValidationPipe 接收到被扁平化解析后的查询参数时,它会在 ProductFilterDto 中寻找一个名为 filters[price][min] 的顶层属性。由于 DTO 中并未直接定义这样一个扁平的属性,并且 ValidationPipe 通常会启用 forbidNonWhitelisted: true 或 whitelist: true 选项来拒绝 DTO 中未明确声明的属性,因此验证过程失败,并抛出 property filters[price][min] should not exist 的错误。这表明 ValidationPipe 将 filters[price][min] 视为一个非法的、未在白名单中的属性,而不是预期的嵌套对象 filters 下的深层子属性。
简而言之,问题不在于 DTO 定义或 @Query() 装饰器本身,而在于底层 HTTP 框架对查询字符串的默认解析行为与 NestJS ValidationPipe 对复杂嵌套 DTO 结构的需求不匹配。
要解决此问题,关键在于配置 NestJS 应用的底层 HTTP 适配器,使其能够正确地解析包含方括号语法的嵌套查询参数,将其转换为嵌套的 JavaScript 对象。
+如果您的 NestJS 应用使用 Express 作为底层 HTTP 框架(这是新项目的默认配置),您需要在应用的入口文件(通常是 main.ts)中,通过 app.set('query parser', 'extended'); 显式启用 Express 的扩展查询字符串解析功能。此配置会指示 Express 使用 qs 库(Express 内置依赖)来处理查询字符串,该库能够正确处理嵌套结构。
示例 (main.ts):
import { NestFactory } from '@nestjs/core'; |
如果您的 NestJS 应用使用 Fastify 作为底层 HTTP 框架,您需要在创建 Fastify 适配器实例时,通过 querystringParser 选项提供一个自定义的查询字符串解析函数。通常,我们会利用 qs 这样的成熟库来完成递归解析。
首先,确保已安装 qs 库及其类型定义:npm install qsnpm install -D @types/qs
示例 (main.ts):
import { NestFactory } from '@nestjs/core'; |
通过上述配置,无论是使用 Express 还是 Fastify,NestJS 应用都将能够正确地将 ?filters[price][min]=100 解析为 { filters: { price: { min: '100' } } }。随后,在 ValidationPipe 的 transform 阶段,@Type(() => Number) 装饰器会确保 min 的值从字符串 '100' 转换为数字 100,从而顺利通过验证并注入到控制器方法中。
而在单个Domain中 OCaml 的 runtime 是通过在safe point期间半抢占式的切换线程。也就是说,线程切换只会发生在safe point期间。例如内存分配就是是safe point。这意味着在没有safe point的代码块内,可以在Domain内原子性地进行多次读写或访问操作,因为线程没被切换。
+OCaml 编译器提供了一个名为 [@poll error] 的annotation,可以在函数中使用它来确保该函数不包含safe point。
所以通过使用 [@poll error] 就可以创建在Domain内原子性执行的函数,也就是说,基于此特性可以实现单个Domain内线程安全的数据结构,例如 thread-table 便是使用这个特性实现的 Hash Table。可以看看它的 add 函数的实现:
let[@poll error] add_atomically t buckets n i before after = |
相比使用 Stdlib.Mutex,这种无锁实现会有更好的性能(特别是对于只读操作),并且还允许例如信号处理之类的上下文操作。
]]>/* The tick thread: posts a SIGPREEMPTION signal periodically */ |
这是因为Multicore OCaml的GC目前需要一个进程(或一个Domain)中的所有线程一起参与以避免并发访问。如果一个线程在system call上被阻塞,那么整个Domain就会被卡住,直到该线程可以参与当前的垃圾收集。为了避免这个问题,tick 线程可以代替被阻塞的线程执行垃圾收集操作。
-]]> -Number.toString()的实现, 以V8为例。
-
-在很多地方都能看到:
-*isolate->factory()->NumberToString(value); |
例如 /src/builtins/builtins-number.cc 中。
-下面看看NumberToString的定义, 应该是在 src/heap/factory-base.cc 中:
template <typename Impl> |
可以看到这里调用了 SmiToString, 这里不往下翻这个函数的定义, 只需要知道Smi是什么即可。 Smi 是一种特殊的整数类型,它被用于表示较小的整数值,通常在 32 位系统中是 31 位有符号整数。Smi 类型的值存储在指针的低位,而指针的高位用于标记该值是一个 Smi 类型。IsSmi 函数会检查给定的值是否为 Smi 类型,如果是,则返回 true,否则返回 false。这个函数通常用于 V8 引擎内部的优化和性能优化。
所以NumberToString会判断number是否是一个smi, 如果是的话就调用SmiToString, 否则会尝试将其转换为double再去调用DoubleToSmiInteger, 将DoubleToSmiInteger的调用结果存在smi_value里面, 再通过调用SmiToString将smi_value转换为字符串。
如果这两条路都行不通的话,就直接调用HeapNumberToString了。
HeapNumberToString的定义如下:
template <typename Impl> |
就是熟知的NaN, Undefined处理,重点在:
-char arr[kNumberToStringBufferSize]; |
这里调用了DoubleToCString, 其定义在 /src/numbers/conversions.cc 中:
const char* DoubleToCString(double v, base::Vector<char> buffer) { |
不用过多解释, 已经很清晰了, FastD2I 就是 Fast Double to Integer的意思, 定义如下, 注释也很详尽:
// The fast double-to-(unsigned-)int conversion routine does not guarantee |
以上
]]>Number.toString()的实现, 以V8为例。
+
+在很多地方都能看到:
+*isolate->factory()->NumberToString(value); |
例如 /src/builtins/builtins-number.cc 中。
+下面看看NumberToString的定义, 应该是在 src/heap/factory-base.cc 中:
template <typename Impl> |
可以看到这里调用了 SmiToString, 这里不往下翻这个函数的定义, 只需要知道Smi是什么即可。 Smi 是一种特殊的整数类型,它被用于表示较小的整数值,通常在 32 位系统中是 31 位有符号整数。Smi 类型的值存储在指针的低位,而指针的高位用于标记该值是一个 Smi 类型。IsSmi 函数会检查给定的值是否为 Smi 类型,如果是,则返回 true,否则返回 false。这个函数通常用于 V8 引擎内部的优化和性能优化。
所以NumberToString会判断number是否是一个smi, 如果是的话就调用SmiToString, 否则会尝试将其转换为double再去调用DoubleToSmiInteger, 将DoubleToSmiInteger的调用结果存在smi_value里面, 再通过调用SmiToString将smi_value转换为字符串。
如果这两条路都行不通的话,就直接调用HeapNumberToString了。
HeapNumberToString的定义如下:
template <typename Impl> |
就是熟知的NaN, Undefined处理,重点在:
+char arr[kNumberToStringBufferSize]; |
这里调用了DoubleToCString, 其定义在 /src/numbers/conversions.cc 中:
const char* DoubleToCString(double v, base::Vector<char> buffer) { |
不用过多解释, 已经很清晰了, FastD2I 就是 Fast Double to Integer的意思, 定义如下, 注释也很详尽:
// The fast double-to-(unsigned-)int conversion routine does not guarantee |
以上
]]>+]]> +一切重新沉寂下来。
我知道,能明确感受到,远处的风力发电机每转一圈我对这里的牵挂就更深一点,太阳每次升到我头顶都会把我的身体压进泥土里一点。
+夕阳下的街头空无一人,窗户间的缝隙吹来寒风,隔壁回锅肉的香味混在其中,困顿中还有美好的可能,所以别让自己太过消沉。
+所以别让自己太过消沉。
]]>这世上也不是所有事都算得准的。
云仰望着太阳,羡慕他的炙热,或许太阳也在仰望着云,渴求他的停留。
地球距离太阳1.5亿公里,如无意外,两者此生不会相遇,但从此以后,我与世间美好再也不会分离。
-]]> -我知道,能明确感受到,远处的风力发电机每转一圈我对这里的牵挂就更深一点,太阳每次升到我头顶都会把我的身体压进泥土里一点。
-夕阳下的街头空无一人,窗户间的缝隙吹来寒风,隔壁回锅肉的香味混在其中,困顿中还有美好的可能,所以别让自己太过消沉。
-所以别让自己太过消沉。
]]>那在这之前呢?
在这之前我刚吃完一碗辣椒炒肉,
香
+]]> +衣服买大了,他们走路好急,地铁上只有老人没看手机,天怎么黑那么快是我起晚了吗,那个蹦蹦跳跳的女孩耳机里在听什么歌,我还在原地吗,我要再等等吗。
+家就像厚酒之后突然明晰的想象,时间不语,只是沉默,我沉默地走进时间,看着我和你的年龄相差越来越小。
+这雨天,世界都温柔的可以掐出水来。
]]>时间带走了一个人,带走了一个由无数粒子组成的,短暂观察了这个宇宙一瞬的意识,它们会在时间中无数次聚散,再无数次见这灿烂的一切。
梦里明明有六趣,觉后空空无大千,
又是一个难捱的冬天,为了脚不被冻住,我们只能起舞。
-]]> -衣服买大了,他们走路好急,地铁上只有老人没看手机,天怎么黑那么快是我起晚了吗,那个蹦蹦跳跳的女孩耳机里在听什么歌,我还在原地吗,我要再等等吗。
-家就像厚酒之后突然明晰的想象,时间不语,只是沉默,我沉默地走进时间,看着我和你的年龄相差越来越小。
-这雨天,世界都温柔的可以掐出水来。
]]>我们应该坐在一起发呆
发很久的呆
然后我说人类好无聊啊
这个地球完蛋了
你点点头
我们应该坐在一起发呆
发很久的呆
然后我说人类好无聊啊
这个地球完蛋了
你点点头
当有了一个目标,需要的不是豪言壮志,不是任何心理建设,而是尽快上手去做。
做一件事,无关心态,只要去做就是了。发挥最大的主观能动性,遇到问题就解决,碰到障碍就破开,需要帮助就求助。别因为所谓的自信就盲目冒进,也别因为所谓的自卑就胆小退缩,那俩玩意都不存在。
尊重事情本身的客观发展规律,什么样的人匹配什么样的事,什么样的条件匹配什么样的理想。别把心态想得太重要,更别花太多时间精力去建设心态,客观规律不会因为心态就发生奇迹般地转变。
你最好趁早学会尊重客观规律。
+]]> +镜头里,她和抱着雪狮的希文站在中间,她手边是依次排开的五个哥哥,希文手边是暮秋, 培元, 世琪, 婧灵五人。
在他们后排,其他人也各自找好位置挺直脊背站着。
“拍了啊,倒数,三、二、一……茄子!”
-咔擦,画面定格,幸福定格,大家终于从苦难里彻底毕业了。
-萤火虫的微光与星空交相辉映,黑夜中潜滋暗长的花香沁人心脾,晚风挠过波光粼粼的海面,彼此相爱的人相拥而眠。
]]>+]]> +韩暮秋,息止安所。
镜头里,她和抱着雪狮的希文站在中间,她手边是依次排开的五个哥哥,希文手边是暮秋, 培元, 世琪, 婧灵五人。
在他们后排,其他人也各自找好位置挺直脊背站着。
“拍了啊,倒数,三、二、一……茄子!”
+咔擦,画面定格,幸福定格,大家终于从苦难里彻底毕业了。
+萤火虫的微光与星空交相辉映,黑夜中潜滋暗长的花香沁人心脾,晚风挠过波光粼粼的海面,彼此相爱的人相拥而眠。
]]>接收到的评论不必急于改变,先存起来,让它们陪着自己,跟着时间走,路上会慢慢的和其他的事情连结起来,这样就能择其善者而从之,其不善者而改之了。
应当早日从这喧扰的世界冷静下来,让脑子里满是憧憬和情爱的灵魂得到一丝陈酿,理性点抬头看看世界上方的二氧化碳,自己晃晃头打破能回到最初的样子再重来的梦。
爱你们。
+]]> +世界同可怜的孩子一起闭上了眼睛,世界不那么开心,但是
++]]>这个世界,我真的爱你
+
岁月中的某个文明中的某个人,曾经也骑着骆驼向远方,又是哪个人,吟着佛门心语站在我身旁,我听见大漠的念经声。
我不是个有耐心的人, 抄经书对我来说是种折磨, 我只能选择把经文抄在大地上, 黄沙上, 用自己的双腿一点点写, 用耳去倾听狂风卷积的声音。
我生来就是为了把这个世界的消息和秘密带到下一个世界去。
-]]> -世界同可怜的孩子一起闭上了眼睛,世界不那么开心,但是
--]]>这个世界,我真的爱你
-
-目前市场上销售的达菲为罗氏制药独家生产的抗流感药物,其通用名称为磷酸奥司他韦(Oseltamivirphosphate)。奥司他韦(Oseltamivir)于1999年在瑞士上市,2001年10月在我国上市。达菲是一种非常有效的流感治疗用药,并且可以大大减少并发症(主要是气管与支气管炎、肺炎、咽炎等)的发生和抗生素的使用,因而是目前治疗流感的最常用药物之一,也是公认的抗禽流感、甲型H1N1病毒最有效的药物之一。
-奥司他韦口服后经肝脏和肠道酯酶迅速催化转化为其活性代谢物奥司他韦羧酸,奥司他韦羧酸的构型与神经氨酸的过渡态相似,能够竞争性地与流感病毒神经氨酸酶(NA,neu-raminidase,也有称作神经氨酸苷酶)的活动位点结合,因而是一种强效的高选择性的流感病毒NA抑制剂(NAIs),它主要通过干扰病毒从被感染的宿主细胞中释放,从而减少甲型或乙型流感病毒的传播。
-对不同程度的肾功能不全患者给予100mg磷酸奥司他韦,每日两次,服用五天,显示活性代谢产物水平与降低肾功能成反比。对肌酐清除率小于30ml/min的患者建议做剂量调整。目前没有研究数据指导肾功能衰竭患者的用药(肌酐清除小于10ml/nin),所以对该人群用药时要慎重。
-口服磷酸奥司他韦后。肝功能不全患者并没有象预期那样体内奥司他韦水平增高或其活性代谢产物水平降低。
-给予相同剂量的磷酸奥司他韦,同年轻人相比,老年人(年龄在65—78岁间)的稳态代谢物水平比年轻人高25~35%,而两个人群药物半衰期很相似。考虑到药物暴露量和耐受力,老年人不必调整剂量。
-对一小组5~18岁儿童给予单剂2mg/kg的粉末剂,口服建立药代曲线,数据显示儿童年龄越小,对药物前体和其活性代谢产物的清除越快,人体对每mg/kg计量单位的承受越少。比如给予5-8岁儿童2mg/kg的剂量,若要达到可比性。即相当于要给予成年人单剂75mg奥司他韦(大约为1mg/kg)。年龄相差越小,儿童与成年人对每一单位mg/kg剂量的代谢差别越小。比如大于12岁的儿童与成年人在药代动力学方面就已经很相似了。
-在罗氏提交美国联邦食品和药品管理局的申报材料中指出,奥司他韦(达菲)主要的不良反应显示为消化道的不适,包括恶心、呕吐、腹泻、腹痛等,其次是呼吸系统的不良反应,包括支气管炎、咳嗽等,此外还有中枢神经系统的不良反应,如眩晕、头痛、失眠、疲劳等。
-在2004年1月,FDA还发出对于奥司他韦的消费警讯,声称由于1岁以内幼儿血脑屏障发育不完全,奥司他韦应用于幼儿可能造成脑内药物浓度过高,形成潜在的安全问题。
-2005年有日本媒体报道日本青少年服用奥斯他韦后自杀并有精神异常反应,此后日本先后报道数十例此类不良反应,此后世界各地媒体纷纷转载报道,引起公众关注。2005年11月FDA就这一反应作出报告,认为没有证据证明奥斯他韦可以导致精神异常,日本的不良反应病例系大众媒体报道后经心理暗示作用引起的群体性臆症。
-需要注意的是,奥司他韦是通过抑制病毒的复制而起到治疗流感作用的,如果人体没有感染病毒,吃了“达菲”也是没有任何作用的。也就是说,“达菲”是在体内存在病毒的前提下起到杀灭病毒的作用,它不可能抵抗病毒侵入人体。
-
+目前市场上销售的达菲为罗氏制药独家生产的抗流感药物,其通用名称为磷酸奥司他韦(Oseltamivirphosphate)。奥司他韦(Oseltamivir)于1999年在瑞士上市,2001年10月在我国上市。达菲是一种非常有效的流感治疗用药,并且可以大大减少并发症(主要是气管与支气管炎、肺炎、咽炎等)的发生和抗生素的使用,因而是目前治疗流感的最常用药物之一,也是公认的抗禽流感、甲型H1N1病毒最有效的药物之一。
+奥司他韦口服后经肝脏和肠道酯酶迅速催化转化为其活性代谢物奥司他韦羧酸,奥司他韦羧酸的构型与神经氨酸的过渡态相似,能够竞争性地与流感病毒神经氨酸酶(NA,neu-raminidase,也有称作神经氨酸苷酶)的活动位点结合,因而是一种强效的高选择性的流感病毒NA抑制剂(NAIs),它主要通过干扰病毒从被感染的宿主细胞中释放,从而减少甲型或乙型流感病毒的传播。
+对不同程度的肾功能不全患者给予100mg磷酸奥司他韦,每日两次,服用五天,显示活性代谢产物水平与降低肾功能成反比。对肌酐清除率小于30ml/min的患者建议做剂量调整。目前没有研究数据指导肾功能衰竭患者的用药(肌酐清除小于10ml/nin),所以对该人群用药时要慎重。
+口服磷酸奥司他韦后。肝功能不全患者并没有象预期那样体内奥司他韦水平增高或其活性代谢产物水平降低。
+给予相同剂量的磷酸奥司他韦,同年轻人相比,老年人(年龄在65—78岁间)的稳态代谢物水平比年轻人高25~35%,而两个人群药物半衰期很相似。考虑到药物暴露量和耐受力,老年人不必调整剂量。
+对一小组5~18岁儿童给予单剂2mg/kg的粉末剂,口服建立药代曲线,数据显示儿童年龄越小,对药物前体和其活性代谢产物的清除越快,人体对每mg/kg计量单位的承受越少。比如给予5-8岁儿童2mg/kg的剂量,若要达到可比性。即相当于要给予成年人单剂75mg奥司他韦(大约为1mg/kg)。年龄相差越小,儿童与成年人对每一单位mg/kg剂量的代谢差别越小。比如大于12岁的儿童与成年人在药代动力学方面就已经很相似了。
+在罗氏提交美国联邦食品和药品管理局的申报材料中指出,奥司他韦(达菲)主要的不良反应显示为消化道的不适,包括恶心、呕吐、腹泻、腹痛等,其次是呼吸系统的不良反应,包括支气管炎、咳嗽等,此外还有中枢神经系统的不良反应,如眩晕、头痛、失眠、疲劳等。
+在2004年1月,FDA还发出对于奥司他韦的消费警讯,声称由于1岁以内幼儿血脑屏障发育不完全,奥司他韦应用于幼儿可能造成脑内药物浓度过高,形成潜在的安全问题。
+2005年有日本媒体报道日本青少年服用奥斯他韦后自杀并有精神异常反应,此后日本先后报道数十例此类不良反应,此后世界各地媒体纷纷转载报道,引起公众关注。2005年11月FDA就这一反应作出报告,认为没有证据证明奥斯他韦可以导致精神异常,日本的不良反应病例系大众媒体报道后经心理暗示作用引起的群体性臆症。
+需要注意的是,奥司他韦是通过抑制病毒的复制而起到治疗流感作用的,如果人体没有感染病毒,吃了“达菲”也是没有任何作用的。也就是说,“达菲”是在体内存在病毒的前提下起到杀灭病毒的作用,它不可能抵抗病毒侵入人体。
+
灯笼果别名为小果酸浆、秘鲁苦蘵、打头泡、灯笼草等,茄科酸浆属多年生草本植物。
灯笼果茎直立,叶较厚,阔卵形或心脏形,两面密生柔毛;花单独腋生,花萼阔钟状,花冠阔钟状,黄色而喉部有紫色斑纹,花丝及花药蓝紫色,花药长约3毫米。果萼薄纸质,淡绿色或淡黄色,浆果成熟时黄色,种子黄色,圆盘状,夏季开花结果。生于田间、路旁、村边。我国南北各地均有分市。
不要与醋栗混淆
-醋栗长这样:
-
《陆川本草》:”甘淡,微寒。”
-《南宁市药物志》:”苦,寒,微甘。”
---清热,行气,止痛,消肿。治感冒,痄腮,喉痛,咳嗽,腹胀,疝气,天疱疮。
-
《陆川本草》:”行气,消胀,利尿。治腹胀,睾丸炎,疝气。”
-《南宁市药物志》:”清热杀虫,止痛消肿。治热眼,喉痛,咳嗽;外敷毒疮,并熏洗阴囊肿大。”
-《生草药手册》:”内服治伤寒或小肠疝气。外洗治天疱疮。”
-《中国药植图鉴》:”功同酸浆。”
-广州空军《常用中草药手册》:”治感冒发热,腮腺炎,支气管炎,疱疹,疖疮,疝气痛。”
-《本草纲目》旧版草部第十六卷,草之五:燕京野果名红姑娘,外垂降囊,中含赤子如珠,酸甘可食盈盈绕砌,与翠草同芳,亦自可爱。捣计服治黄病(即黄胆性肝炎)多效,治上气咳嗽风热,明目,付小儿内辟等多种疾病。东北地区种植较广泛,其他地区种植较少,仍属稀特蔬菜。
-《别录》:“酸浆,生荆、楚川泽及人家田园中。五月采,阴干。”陶弘景:“酸浆,处处人家多有。叶亦可食。子作房,房中有子,如梅李大,皆黄赤色。”《唐本草》:“灯笼草,所在有之。八月采。枝干高三、四尺,有花,红色,状若灯笼,内有子,红色可爱。根、茎、花、叶并入药用。”
-《梦溪笔谈》:“苦耽,即本草酸浆也。河西番界中酸浆有盈丈者。”《本草衍义》:“酸浆,今天下皆有之。苗如天茄子,开小白花,结青壳,熟则深红,壳中子大如樱,亦红色,樱中复有细子,如落苏之子,食之有青草气。此即苦耽也。”
-
灯笼果别名为小果酸浆、秘鲁苦蘵、打头泡、灯笼草等,茄科酸浆属多年生草本植物。
灯笼果茎直立,叶较厚,阔卵形或心脏形,两面密生柔毛;花单独腋生,花萼阔钟状,花冠阔钟状,黄色而喉部有紫色斑纹,花丝及花药蓝紫色,花药长约3毫米。果萼薄纸质,淡绿色或淡黄色,浆果成熟时黄色,种子黄色,圆盘状,夏季开花结果。生于田间、路旁、村边。我国南北各地均有分市。
不要与醋栗混淆
+醋栗长这样:
+
《陆川本草》:”甘淡,微寒。”
+《南宁市药物志》:”苦,寒,微甘。”
+++清热,行气,止痛,消肿。治感冒,痄腮,喉痛,咳嗽,腹胀,疝气,天疱疮。
+
《陆川本草》:”行气,消胀,利尿。治腹胀,睾丸炎,疝气。”
+《南宁市药物志》:”清热杀虫,止痛消肿。治热眼,喉痛,咳嗽;外敷毒疮,并熏洗阴囊肿大。”
+《生草药手册》:”内服治伤寒或小肠疝气。外洗治天疱疮。”
+《中国药植图鉴》:”功同酸浆。”
+广州空军《常用中草药手册》:”治感冒发热,腮腺炎,支气管炎,疱疹,疖疮,疝气痛。”
+《本草纲目》旧版草部第十六卷,草之五:燕京野果名红姑娘,外垂降囊,中含赤子如珠,酸甘可食盈盈绕砌,与翠草同芳,亦自可爱。捣计服治黄病(即黄胆性肝炎)多效,治上气咳嗽风热,明目,付小儿内辟等多种疾病。东北地区种植较广泛,其他地区种植较少,仍属稀特蔬菜。
+《别录》:“酸浆,生荆、楚川泽及人家田园中。五月采,阴干。”陶弘景:“酸浆,处处人家多有。叶亦可食。子作房,房中有子,如梅李大,皆黄赤色。”《唐本草》:“灯笼草,所在有之。八月采。枝干高三、四尺,有花,红色,状若灯笼,内有子,红色可爱。根、茎、花、叶并入药用。”
+《梦溪笔谈》:“苦耽,即本草酸浆也。河西番界中酸浆有盈丈者。”《本草衍义》:“酸浆,今天下皆有之。苗如天茄子,开小白花,结青壳,熟则深红,壳中子大如樱,亦红色,樱中复有细子,如落苏之子,食之有青草气。此即苦耽也。”
+正气水是酊剂,用的是生半夏,口服液用的是法半夏,比正气水多了炒的白术,生姜和大枣,两者的功效都是解表化湿,理气和中。藿香正气水由水煮及酒浸制而成,疗效最明显,但口感较差。由于霍香正气水药效比较峻猛,小儿和年老体虚者服用时应有医生指导。藿香正气口服液是藿香正气的换代产品。
]]>正气水是酊剂,用的是生半夏,口服液用的是法半夏,比正气水多了炒的白术,生姜和大枣,两者的功效都是解表化湿,理气和中。藿香正气水由水煮及酒浸制而成,疗效最明显,但口感较差。由于霍香正气水药效比较峻猛,小儿和年老体虚者服用时应有医生指导。藿香正气口服液是藿香正气的换代产品。
-]]>