自建Gitlab在使用LFS出现的一个小问题

现象

在局域网内使用docker启动一个Gitlab实例,其中external_url设置为http://fqdn。外部使用Nginx反向代理到该实例的80端口,并向外提供HTTPS服务。

在使用git LFS上传文件时git提示file already closed

解决

根据GitHub上热心群众提供的方法,需要将external_url中的http改为https,以解决 file already closed 的问题。但是直接改为https则会出现浏览器提示Too Many Redirect,究其原因是容器中的Gitlab实例在发现external_url中的协议名为https时将会自动将80端口上的流量导回443端口上,如下图所示:

循环重定向

为此需要在GitLab的启动环境变量中增加对Gitlab重定向行为的修正,使之不发出重定向响应:

nginx['listen_port'] = 80
nginx['listen_https'] = false

■QED

PyMOL学习日志(一):安装

PyMOL简单来说是一个用于分子可视化的软件包,最初由Warren Lyford DeLano开发,目前由 Schrödinger (是个企业)负责开发与维护。其图形呈现使用OpenGL库,图形化用户界面使用Tk库或Qt库。

在Windows上的安装相对比较简单,所以从Windows平台的安装开始介绍。

Windows平台安装

windows平台上的安装一般选择从预编译的二进制分发包安装。从源码安装原则上应该也是可以的,不过目前还没有成功,姑且挖个坑以后再填

从预编译二进制分发包安装

首先从Christoph Gohlke所维护的Python非官方Windows预编译包网站上下载PyMOL的预编译包
👇下载地址👇
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymol
挑选一个合适的版本下载后使用pip安装即可

:: 假设下载了Pmw‑2.0.1‑py3‑none‑any.whl和pymol‑2.3.0‑cp36‑cp36m‑win_amd64.whl
:: 下载目录为path
:: 那么
cd path
pip install Pmw‑2.0.1‑py3‑none‑any.whl
pip install pymol‑2.3.0‑cp36‑cp36m‑win_amd64.whl
:: 就可以了

从源码安装

施工中
预计完成日期:待定

Linux平台安装

这里以Ubuntu为例,其他发行版的区别应该只有包管理器的那点区别,同法理应可行。

从预编译二进制分发包安装

apt-get install pymol
# 完成了

从源码安装

源代码在GitHub上 https://github.com/schrodinger/pymol-open-source 克隆到本地之后首先检出需要的tag。就本文撰写时,有v2.2.0和v2.3.0两个tag,任选一个即可。就目前而言似乎项目代码还未使用标准的Git工作流来控制代码的开发,仅有一个master分支,因此检出tag就显得很重要了。

1. Prerequisite

  • Python3 (如果需要使用第三方插件,则应当考虑使用Python2)
  • APT包管理器安装如下包:
    • build-essential(用于编译,必须)
    • python-dev( 必须 ;使用Python3,则改为 python3-dev,以下以python-开头的包同理 )
    • python-pmw(如果使用Tk,必须)
    • libglew-dev (必须)
    • freeglut3-dev (如果不使用–glut 安装选项,可选)
    • libpng-dev (必须)
    • libfreetype6-dev (必须)
    • libxml2-dev(如果使用 –no-libxml安装选项,可选 )
    • libmsgpack-dev(用于加速MMTF文件的装载,可选)
    • python-pyqt5.qtopengl(建议,否则将会使用Tk)
    • libglm-dev(必须)

2. 安装MMTF库

PyMOL需要读取MMTF文件,因此需要额外添加编码、解码库,这里需要MMTF的C++实现。其具体实现在GitHub上https://github.com/rcsb/mmtf-cpp 。当然安装该库的前提是安装过MessagePack C++库,也就是上文所说的 libmsgpack-dev 包。
从GitHub克隆后进入目录,根据文档中的安装方法即可

mkdir build
cd build
cmake -G "Unix Makefiles" ..
sudo make install

3. 编译安装

进入克隆下来的PyMOL源代码目录执行

python setup.py install --prefix=~/pymol-build

如果希望用Python3,对应地改为python3即可。编译完成后执行~/pymol-build/bin/pymol即可启动pymol。此外如果希望使用Tk作为GUI库,那么在Ubuntu(至少在18.04上)有一个小bug——Ubuntu安装Tk和Tcl会在Include目录下建立一个Tk文件夹和Tcl文件夹以便多版本共存,那么源代码中写的<#include Tk.h>自然就会引发无法找到头文件的问题,因为理论上应该写作<#include Tk/Tk.h>。那么一种思路就是修改源文件,另一种更加方便的策略就是将Tk和Tcl文件夹加入编译的Include目录列表中。

Aria2c的容器化部署(基于docker-compose)

在之前的几篇文章中已经介绍了如何一个部分一个部分地综合部署aria2下载环境,详见索引页。接下来结合我国具体国情——用户太多,IP地址太少(至少运营商是这么告诉我们的)——于是公网环境下配置aria2下载环境会有两个问题:其一,公网地址作为个人用户,很可能不是那么好拿到的(指家庭宽带得到公网IP);其二,很容易能拿到公网IP的道路(指用吃灰中的VPS),又有可能律师函警告(指用BT下载版权内容)。因此用aria2下载BT文件的时候,其实P2P上传的那一部分细节就不需要特意去研究了,反正你也只能从具有公网IP的对等客户端下载,同时也只能上传给那些具有公网IP的对等客户端,UPnP还是DMZ主机什么的技术,在通常情况下,跟我们没太大关系。

因此从我们的具体实际出发,对aria2部署的网络环境作如下假设:能访问公网地址,可以访问aria2所在环境的特定端口。那么容器化其实就是一个很好的选择,下面就谈一下容器化后的三个部件容器,当然我也为太长不看的用户准备了一个范例docker-compose文件,修改用户名、密码、和RPC密钥就可以跑起来了:

架构图

那么我们接着往下谈

容器化的Aria2

首先是aria2的本体,容器化之后需要考虑的是aria2的版本可控。因此使用软件仓库中的aria2不是非常恰当,可选的方案有:1、从GitHub的release列表中下载;2、源码编译。在这里我们选择的是从源码编译,容器为多阶段构建方式

编译Aria2

基本上按照代码仓库中的说明文档按部就班即可,可能需要注意的是以Ubuntu:18.04镜像作为基础镜像编译aria2时,需要额外安装一个文档中没有说明的包 liblzma-dev ,否则编译会提示找不到某些依赖库。

启动Aria2

启动部分主要是要关注两个问题:一是如何正确地根据环境变量初始化,二是如何正确地从持久化的数据中加载配置。

第一个方面可以使用 gettext-base 软件包中的 envsubst命令,该命令可以将输入文本中的环境变量部分(即“${……}”)用环境变量的取值替换。因此只需要准备一个模板配置文件(比如说“config.template”),在启动脚本中使用 envsubst < config.template > config 就能得到填入环境变量的配置文件“config”,随后用不覆盖复制,就能解决从数据卷中加载配置的问题。最后我们只需要简单地执行./aria2c --conf-path=/config/aria2.conf即可。

这部分的参考代码在GitHub: https://github.com/jsjyhzy/downloader-parts-aria2

容器化的WebDAV服务

WebDAV服务选择的是WsgiDAV。要问为什么选这个,其实也没什么特殊的原因,大可以选其他的WebDAV服务程序。WsgiDAV的无配置启动相对比较容易,但真的要去配置还是很麻烦的,所以我们就从官方文档中将示例配置稍加修改,也就能用了。下面我们以示例的yaml版本的配置文件为例

WsgiDAV配置文件

主要需要关注两个配置点“ provider_mapping” 和“ simple_dc:user_mapping ”

provider_mapping 定义了挂载点,在这里我们需要将容器内的数据卷(在我的参考代码中是“/data”)挂载到“/webdav”。而 simple_dc:user_mapping 则定义了访问控制列表,因为我们的这套方案是为单用户使用而设计的,因此在这里也只需要定义一个用户,可以用上之前aria2使用环境变量的方法。

这部分的参考代码在也在GitHub:https://github.com/jsjyhzy/downloader-parts-webdav

容器化的Nginx

nginx做反向代理主要需要完成三项工作:1、代理aria2的rpc端口;2、代理WebDAV端口;3、提供AriaNg的静态文件,我们一个一个来说

反向代理Aria2的RPC端口

得益于aria2c使用的rpc是基于HTTP协议的,这为我们使用nginx来反向代理创造了可能性。代理时比较重要的是提供websocket支持,这可以通过在location块中添加:

proxy_http_version      1.1;
proxy_set_header        Upgrade         $http_upgrade;
proxy_set_header        Connection      "upgrade";

来完成websocket的反向代理

反向代理WebDAV

这本来没什么好说的,但wsgidav有一个浏览器友好的界面,它将需要从 “/:dir_browser ”目录中(相对于wsgidav)加载一些js、css文件,如果不妥善处理这一块东西,用是能用,就是不美观。所以不仅要反向代理“/webdav”(相对nginx),还要代理“/:dir_browser”(相对nginx)。

提供静态文件

这一部分可以直接从GitHub下载release版本,解压到随便什么目录,然后用nginx服务静态文件即可。

Last but not least

一般来说我们会在nginx配置文件中使用其他容器的名称来访问对应端口,但是最近的docker不再向/etc/hosts直接写入解析,而是通过内置一个DNS服务来完成容器名-IP地址的解析,因此要在server块中追加一句 resolver 127.0.0.11; 否则将会提示无法解析容器名。

这部分的参考代码在GitHub:https://github.com/jsjyhzy/downloader-parts-nginx

人体解剖与生理学填空题(五)

  • 骨骼肌神经肌接头的终板膜上存在N2受体,副交感节后神经纤维支配效应器细胞上的M受体。
  • 神经纤维传导兴奋的特征主要有完整性绝缘性双向性相对不疲劳性
  • 突触传递的特征是单向传递突触延搁总和性兴奋节律改变内环境变化敏感易疲劳
  • 小脑对躯体运动的调节功能主要是调节身体平衡肌紧张随意运动
  • 大脑皮质对躯体运动的调节功能是通过锥体系和锥体外系完成的,锥体系的主要功能是发动随意运动、调节精细运动、保持动作协调性;锥体外系的主要功能是调节肌紧张、完成肌群之间的协调运动。
  • 自主神经节(骨骼肌神经肌接头的终板膜上)细胞上的受体属于胆碱能(胆碱能)受体中的N1N2受体。
  • 帕金森病病因是双侧黑质病变,多巴胺能神经元受损;舞蹈病病因是双侧纹状体病变,GABA神经元变性或遗传性受损。
  • 感受器电位是一种过渡性电位,其大小在一定范围内与刺激强度成比例,因此不具有全或无性质。
  • 眼的折光系统包括角膜房水晶状体玻璃体
  • 眼球的内容物包括房水晶状体玻璃体
  • 看近物时,眼的调节使晶状体折光能力增强(变凸),瞳孔缩小,眼球会聚
  • 瞳孔对光反射的中枢位于中脑
  • 激素按其化学性质可分为含氮类类固醇类两大类。
  • 垂体分为神经垂体腺垂体两部分,它们在结构和功能上均与下丘脑有密切关系。
  • 下丘脑视上核和室旁核分泌抗利尿激素催产素,沿下丘脑垂体束运送到神经垂体储存。
  • 生理浓度的生长素能促进蛋白质的合成、促进脂肪的分解,加强对糖的利用。
  • 成年后生长激素分泌过多可产生肢端肥大症。
  • 甲状腺功能主要受下丘脑腺垂体甲状腺轴自身调节所调节,甲状腺素激素包括T3T4,它们是酪氨酸衍生物。
  • 甲状旁腺激素的主要作用是使血钙上升、血磷下降
  • 调节机体钙磷代谢的激素使甲状旁腺激素降钙素维生素D
  • 降钙素是由甲状腺C(滤泡旁)细胞分泌的肽类激素,主要作用是降低血钙和血磷水平,其主要靶器官是,对肾脏也有一定作用。
  • 肾上腺皮质可以分泌三种激素:糖皮质激素盐皮质激素性激素
  • ACTH的靶腺是肾上腺皮质,作用是刺激糖皮质激素的分泌。
  • 盐(糖)皮质激素由肾上腺球状(束状)带分泌,其代表为醛固酮(皮质醇)
  • 糖皮质激素分泌过多时能引起生长停滞、肌肉消瘦、皮肤变薄、骨质疏松
  • 糖皮质激素可提高血管对去甲肾上腺素肾上腺素的反应性。
  • 糖皮质激素的四抗作用是抗炎症抗过敏抗中毒抗休克
  • 促肾上腺皮质激素的分泌一方面受到下丘脑释放的促肾上腺皮质释放激素的调节,另一方面受血液中的糖皮质激素调节。
  • 肾上腺髓质分泌的激素由肾上腺素去甲肾上腺素两种,肾上腺髓质激素分泌增加可使心输出量增加、血糖升高、支气管平滑肌舒张
  • 松果体分泌的激素主要有褪黑素,主要生物学作用是抑制促性腺激素释放激素释放抑制甲状腺和肾上腺皮质调节衰老调节生物节律
  • 升血糖激素有糖皮质激素胰高血糖素肾上腺素生长激素甲状腺素
  • 腺垂体分泌的促性腺激素包括卵泡刺激素黄体生成素
  • 卵巢的功能是产生卵子分泌激素
  • 雌激素可提高子宫平滑肌对缩宫素的敏感性。
  • 排卵后引起体温升高的是孕激素
  • 胎盘的主要作用是物质交换分泌激素
  • 胎盘分泌的激素主要有人绒毛膜促性腺激素人绒毛膜生长激素雌激素孕酮

人体解剖与生理学填空题(四)

  • 肾小管重吸收的特点是重吸收的选择性不同部位重吸收功能不同重吸收有限
  • 醛固酮是肾上腺皮质球状带细胞合成和分泌的一种激素,作用于肾远曲小管和集合管产生保钠、保水、排钾作用;ADH与醛固酮的作用部分相同,使小管的上皮细胞对的通透性增加。
  • 外髓部的高渗透梯度主要由髓袢升支粗段对氯化钠的重吸收形成,内髓部的高渗梯度主要是由尿素氯化钠从小管内向组织内液扩散形成的。
  • 终尿中的钠离子主要来自于近曲小管,而其中的钾离子主要来自于远曲小管集合管分泌。
  • 酸(碱)中毒时,钠离子氢离子交换增强(减弱),钠离子钾离子交换减弱(增强),血中钾离子浓度上升(下降),尿中氯化铵排出量增多(减少)
  • 血浆晶体渗透压升高,ADH分泌增加
  • 钠离子/钾离子降低,使醛固酮分泌增高。
  • 大量饮用清水,使血浆晶体渗透压降低,产生的利尿称为水利尿,本质是由于血中ADH含量降低而引起的,终尿渗透压降低。小管液中溶质浓度升高产生的利尿称为渗透性利尿,本质是由于远曲小管和集合管内外促进水吸收的动力降低,终尿渗透压升高
  • 肾脏中致密斑可以感受肾小管液中钠离子的变化,而球旁细胞具有分泌肾素的能力。
  • ADH主要作用是使远曲小管和集合管对水的重吸收增加,引起尿量减小
  • 氢离子在肾小管的分泌有利于的分泌和碳酸氢根的重吸收。
  • 人体两大信息系统是神经系统内分泌系统
  • 神经对其所支配的组织可发挥功能性作用营养性作用两方面作用。
  • 神经元的主要功能是接受刺激产生兴奋,神经纤维的主要功能是传导兴奋
  • 突触后抑制是由抑制性中间神经元引起的抑制。突触后膜表现为极化。
  • EPSP产生是由于突触后膜的钠离子、钾离子通透性增加,其中主要是钠离子
  • IPSP产生是由于突触后膜的氯离子钾离子通透性增加。
  • 电突触传递的结构基础是缝隙连接,该处传导一般是双向的,其传导速度
  • 神经元之间信息传递的方式主要有化学性突触传递电突触传递非突触传递
  • 脊髓前角运动神经元有αγ两种;前者支配梭外肌,后者支配梭内肌
  • 骨骼肌的牵张反射分为腱反射肌紧张。牵张反射的感受器是肌梭,肌紧张是姿势反射的基础。
  • 脑干网状结构中,加强肌紧张的部位称为易化区,抑制肌紧张的部分称为抑制区
  • 根据释放递质的不同,自主神经节后纤维可分为胆碱能纤维肾上腺素能纤维肽能或嘌呤能纤维
  • 体内大多数血管都受交感缩血管神经支配,当此神经被切断后,血管舒张
  • 当交感(副交感)神经兴奋时,心率加快(减慢),支气管平滑肌舒张(收缩),瞳孔扩大(缩小)

人体解剖与生理学填空题(三)

  • 在正常情况下,影响肺血流量的主要因素是颈动脉压。脑血管接受交感缩血管神经纤维和副交感舒血管神经纤维支配。
  • 动脉舒张压的高低心舒期的长短是影响冠脉血流量的重要因素。
  • 实现肺通气的原动力来自于呼吸运动,而肺通气的阻力主要有弹性非弹性两种。
  • 呼吸运动的三个环节是外呼吸气体在血液中的运输内呼吸
  • 肺的弹性阻力来自于肺泡表面张力肺组织的弹性回缩力,其中以肺泡表面张力为主。肺的非弹性阻力主要来自于气道阻力,它受气流速度气流形式管径大小影响。
  • 非弹性阻力包括气道阻力惯性阻力粘滞阻力
  • 消化道平滑肌的一般特性由自律性舒展性紧张性收缩兴奋性较低对化学温度机械牵张敏感
  • 胃特有的运动形式是容受性舒张,小肠特有的运动形式是分节运动
  • 小肠的运动形式主要有蠕动紧张性收缩分节运动;胃的运动形式主要有容受性舒张紧张性收缩蠕动;大肠的运动形式主要有袋状往返运动蠕动集团运动
  • 胃液中的盐酸是由壁细胞分泌的,胃蛋白酶原是由主细胞分泌的,在盐酸的作用下激活为胃蛋白酶;内因子是由壁细胞分泌的,内因子的作用是促进VB12的吸收
  • 胰液中的水和碳酸氢根主要是由小导管上皮细胞分泌,消化酶主要是由腺泡细胞分泌的。
  • 营养物质主要是在小肠部位吸收的,因为吸收面积大食物已分解为小分子食物在小肠停留时间长
  • 糖类氨基酸吸收走血液途径,大分子脂肪酸吸收走淋巴途径。
  • 消化道内在神经丛包括粘膜下神经丛肌间神经丛
  • 基础代谢率是指人体在清醒而又非常安静的状态下,不受肌肉活动环境温度食物精神紧张等因素的影响时的能量代谢率。
  • 人体小(大)汗腺的支配神经属于交感神经,其节后纤维为胆碱(肾上腺素)能纤维。
  • 能量代谢是指体内物质代谢过程中所伴随的能量释放转移贮存利用的过程。
  • 影响能量代谢的因素主要有肌肉活动精神活动食物特殊动力效应环境温度,其中影响最大的是肌肉活动
  • 从渗透压看,汗液是一种低渗液体,大量出汗可使细胞外液渗透压升高
  • 调节体温的中枢在下丘脑,其主要部分是下丘脑视前区下丘脑前部
  • 温度感受器可分为外周温度感受器和中枢温度感受器;温度敏感神经元可分为热敏神经元和冷敏神经元。
  • 机体排泄的四种途径是肾脏皮肤呼吸器官消化道
  • 肾单位可分为皮质肾单位和近髓肾单位。
  • 肾脏的血流量分配不均,其中皮质血流量较多,髓质血流量较少,而直小血管的血液来自近髓肾单位
  • 影响肾小球滤过的因素有滤过膜通透性与滤过面积有效滤过压肾血流量

人体解剖与生理学填空题(二)

  • 凝血过程的三个基本步骤凝血酶原激活物的形成凝血酶原转变为凝血酶纤维蛋白原转化为纤维蛋白,都需要钙离子的参与。
  • 纤溶系统包括四种成分:纤溶酶纤溶酶原激活物抑制物
  • 盐析法可将血浆蛋白分成白蛋白球蛋白纤维蛋白原,其中含量最多的是白蛋白,它是构成血浆胶体渗透压的主要部分;球蛋白是防御功能的重要组成部分;纤维蛋白原参与凝血。
  • 血液循环的主要功能是物质运输完成体液调节维持稳态与血液防御功能
  • 在心动周期中,心室中血液的充盈主要是由心室舒张完成,心房收缩只起辅助作用。
  • Starling机制表明,在一定范围内的每搏输出量随心室舒张末容积增多而增大
  • 左心室前负荷是左心室舒张末期压力;后负荷是主动脉压
  • 心脏自律细胞主要包括P细胞浦肯野细胞
  • 心室肌细胞动作电位复极1期,其一过性外流离子流的主要成分是钾离子
  • 心室肌细胞动作电位平台期外向电流是由钾离子携带的,内向电流主要是由钙离子负载的。
  • 自律细胞4期自动除极化的两方面原因是外流电流逐渐减弱内流电流逐渐增强
  • 浦肯野纤维4期内向电流,通常称为起搏电流,其主要成分是钠离子
  • 心肌组织的生理特性有兴奋性自律性传导性收缩性
  • 决定和影响心肌兴奋性的因素有静息电位水平阈电位水平钠离子通道状态
  • 从电生理角度分析,影响心肌细胞自律性高低的因素有最大复极电位阈电位水平4期自动除极化速度
  • 在心脏的特殊传导系统中,有自律性的部分包括窦房结房室交界房室束浦肯野纤维
  • 不同部位心肌对细胞外钾离子的敏感性不同,心房肌最敏感,窦房结敏感性较低。
  • 迷走(心交感)神经兴奋时,节后纤维释放乙酰胆碱(去甲肾上腺素),与心肌细胞膜上M受体(β1受体)结合,产生负(正)性变力负(正)性变时负(正)性变传导
  • 影响动脉血压的因素有心脏搏出量心率外周阻力和主动脉大动脉弹性贮器以及循环血量与血管容量的比值。
  • 右心衰竭、体循环回心血量减少,中心静脉压升高
  • 微循环的血液可通过迂回通路直捷通路动静脉短路由微动脉流向微静脉。
  • 影响组织液生成的因素由毛细血管压血浆胶体渗透压淋巴回流毛细血管壁通透性
  • 心交感神经节前神经元是胆碱能神经元,其末梢释放乙酰胆碱与节后神经元细胞膜上的N1受体结合,引起节后神经元兴奋。
  • 心交感神经节后神经元释放去甲肾上腺素,与血管平滑肌上的α受体和β受体结合,前者引起血管平滑肌收缩,后者引起血管平滑肌舒张
  • 刺激右侧心交感神经以引起正性变时作用为主,刺激左侧心交感神经以引起正性变力作用为主。

人体解剖与生理学填空题(一)

  • 人体解剖生理学是研究人体生命活动规律的学科,可从整体器官分子细胞多个水平研究生命过程。
  • 动物实验的方法可分为急性实验和慢性实验。
  • 神经末梢释放神经递质是通过胞吐作用进行的。
  • 动作电位传到神经肌肉接头处,使突触前膜释放乙酰胆碱使终板膜主要对钠离子的通透性增加。
  • 骨骼肌收缩时,胞浆内钙离子升高,其主要来源于终末池
  • 横桥具有ATP酶活性,当它与肌动蛋白结合后,才能被激活。
  • 细胞膜对物质转运的基本形式主要有单纯扩散易化扩散主动转运胞吞作用胞吐作用
  • 骨骼肌收缩和舒张过程中,胞浆内的钙离子浓度升高主要是由于钙离子由肌浆网终末池释放,而钙离子浓度的降低,主要是肌浆网结构中钙泵活动的结果。
  • 肌肉收缩是肌丝向肌丝滑行的结果。
  • 载体转运的特点是结构特异性饱和现象竞争性抑制
  • 反应的两种基本表现形式兴奋抑制
  • 新城代谢包括物质代谢能量代谢两个方面。
  • 机体的内环境是指位于细胞间的细胞外液,维持内环境理化性质相对稳定的状态即为稳态。
  • 神经调节的特点是迅速短暂精确;体液调节的特点是缓慢持久广泛;自身调节的特点是调节范围小不灵敏
  • 根据刺激产生的动作电位关系,可将刺激分为阈下刺激阈刺激阈上刺激
  • 神经纤维在单位时间内最多发生的兴奋次数,只取决于神经细胞的绝对不应期,而与刺激的频率无关。
  • 降低神经细胞外液钠离子浓度可使细胞动作电位幅度降低,而静息电位的水平不变。
  • 血液的比重主要取决于红细胞比容,其次是血浆蛋白含量
  • 血浆蛋白分为白蛋白球蛋白纤维蛋白原
  • 红细胞中的主要成分是血红蛋白,其主要作用是携带氧和二氧化碳缓冲酸碱性
  • 白细胞可分为中性粒细胞嗜酸性粒细胞嗜碱性粒细胞单核细胞淋巴细胞
  • 白细胞中吞噬能力最强的是单核巨噬细胞,能释放组胺和肝素的是嗜碱性粒细胞,与机体免疫功能密切相关的是淋巴细胞
  • 调节红细胞生成的激素有促红细胞生成素雄激素
  • 骨髓受损引起的贫血是再生性障碍贫血,VB12、叶酸缺乏可导致巨幼红细胞贫血,出血引起的贫血是缺铁性贫血
  • 血小板的基本功能有参与生理性止血促进凝血维持血管内皮细胞完整性

药理学名词解释(一)

摘抄自:中国医药科技出版社《药理学(第四版)》

Pharmacology(药理学):研究药物的学科之一,主要研究药物与机体的相互作用规律。

Pharmacodynamics(药效学):研究在药物的作用下,机体发生生理功能及细胞代谢活动变化规律。

Pharmacokinetics(药物代谢动力学) :药物在体内的吸收、分布、代谢、排泄及其动态变化规律。

Preclinical pharmacology(临床前药理学):以动物为实验对象,严格控制实验条件,从整体、器官、组织、细胞、分子水平上观察和讨论药物的作用和作用机制,进行药效和安全性评价。

Clinical pharmacology(临床药理学):以临床患者为对象,研究药物对机体的药动学、药效学和不良反应,以确保患者用药安全。

First pass effect(首过效应):口服给药时,药物在进入体循环前经肠、肠壁、肝脏代谢分解,使进入体内的药量降低。

Redistribution(再分布):药物先向血流丰富的组织分布,然后向血流少的组织转移。

Enterohepatic cycle(肝肠循环):某些药物经胆汁排泄至十二指肠后被重新吸收,或代谢物经胆汁排泄到肠道后,在肠道菌作用下分解放出原型药物再次吸收。

Latent period(潜伏期):从给药开始到出现疗效的时间。

Persistent period(持续期):维持在有效浓度以上的时间。

Residual period(残留期):有效浓度以下至完全消除的时间。

Half life(半衰期):血药浓度下降一半的时间。

Clearance(消除率):单位时间内多少分布容积中的药物被消除。

Apparent volume of distribution(表观分布容积):药物分布平衡后,体内药量和血药浓度的比。

Bioavailability(生物利用度):血管外给药后,药物吸收进入血液循环的一种量度。

Absolute bioavailability(绝对生物利用度):进入体循环的量 / 给药量

Relative bioavailability(相对生物利用度):受试制剂与已知参比制剂吸收程度的比较。

Loading dose(负荷剂量):为缩短达到稳态血药浓度的时间,首先给一次大剂量再给维持剂量,可以使血药浓度达到稳态水平的首次剂量即负荷剂量。

Drug action(药物作用):药物与机体生物大分子相互作用产生的初始反应。

Pharmacological effect(药理效应):药物引起的机体生理生化功能继发性改变。

Selectivity(药物作用选择性):机体组织对药物的敏感性不同。

Therapeutic effect(治疗作用):药物引起的符合预期用药目的的作用。

Etiological treatment(对因治疗):用药后消除致病因子,彻底治愈疾病的治疗。

Symptomatic treatment(对症治疗):用于改善临床症状的治疗,不能消除病因,但可改变病人的生理生化功能,防止病情恶化。

Adverse effect(药物不良反应):与用药目的无关的且给病人带来不适和病痛的反应。

Side effect(副作用):治疗量下,出现与治疗作用无关的不适反应。

Toxic effect(毒性反应):剂量过大或给药时间过长引起的危害性反应。

Allergic effect(变态反应):机体受到药物刺激后产生的异常免疫反应。

Residual effect(后遗效应):血药浓度降到有效浓度下残留的效应。

Secondary effect(继发效应):继发于治疗作用,由治疗作用引发的不良后果。

Withdrawal effect(停药反应):长时间用药后突然停药导致的原有病情加重。

Idiosyncratic effect(特异质反应):某些药物引起某些特定人群出现特异质不良反应。

Dose-effect relationship(量效关系):在一定剂量范围内,药物效应随剂量改变而改变。

Minimal effect dose(最小有效剂量) | Threshold dose(阈剂量):引起药物效应的最小剂量。

Maximal effect(最大效应) | Efficacy(效能):药效随剂量增加而增强,效应增加到一定程度后不随浓度改变,此时的效应为最大效应,可以反应药物的内在活性。

Potency(效价强度):作用相同的药物间引起等效反应时浓度或剂量之比,通常用产生50%效应量时的剂量。

ED50(半数有效量):50%实验动物出现阳性反应或达到最大效应50%时的剂量。

Margin of safety(安全范围):最小有效量(ED95)与最小中毒量(LD5)的间距。

Therapeutic index(治疗指数):LD50 / ED50

Safety index(安全指数):LD5 / ED95

Aria2c的文件操作(SMB/Nextcloud途径)

之前介绍了如何部署(详见这篇)和图形化管理界面的部署(详见这篇),但是对于远程获取aria2c所下载的文件仍然是个难点。如果完成了这一点,那就基本完成了某云、某雷离线下载的基本内容。

Aria2c文件操作的特点

首先,aria2c有且只有JSON-RPC/XML-RPC操纵接口。倒也不是说它实现的接口太少,正常的下载工具,例如Transmission、Vuze等,都只实现了这样的RPC操纵接口。

另外一点通过RPC接口调用的remove方法(也就是所谓删除任务),并没有删除已下载文件的可选参数。简单来说就是,你无法通过图形化管理界面删除任务及其文件。

最后,通过PRC接口调用tellStatus方法(即返回任务状态),得到的目标下载地址是相对于配置文件,或新建任务时指定的下载目录的相对路径。

SMB/Nextcloud 途径

这条途径将SMB作为局域网共享,而Nextcloud作公网共享。以SMB作局域网共享的优势在于良好的Windows兼容性,任何局域网内的Windows主机只需要简单地【添加一个网络位置】就可以像操作本地文件夹一般操作aria2c的下载目录。而以Nextcloud作为公网共享的优势,则在于协议上相对安全,因为一般而言并不建议将SMB共享开放到公网上。同时如果已经有Nextcloud作为自制网盘的话,集成进Nextcloud会更加便利。

间章一 · 关于三种网络位置的讨论

查看Windows主机上添加网络位置的三个示例,可以看到有三种:共享文件夹(即SMB)、Web共享(即WebDAV)和FTP站点(即FTP)。在目前只需要简单地操作下载目录中文件的实例中,三者从性能上差不多。或者说,IOPS大小对我们影响不大,我们并不在意;协议开销(有一些同志指出SMB的协议开销特别大),但在目前的千兆局域网条件下(部分石油佬可能都搭起了10Gbps局域网),似乎也没有什么值得担忧的,即使是4k蓝光电影,比特率不过130Mbps,只要设备链路达到千兆级别,协议开销87%都能撑住4k Blue-ray(笑)。

因此接下来考虑的重点,可能只是服务端与客户端配置,孰难孰易。

对于SMB而言,在服务端,Windows下几乎零配置,Liunx系的可能要加一个smb包和nmb包;在客户端,Windows下零配置,Linux系同样要加一个smbclient。

而对于WebDAV而言,服务端的配置就要麻烦一点,Windows下可以考虑IIS的WebDAV功能,Linux系的可能需要一些Nextcloud之类的CMS,以提供WebDAV服务;在客户端,Windows下可能是零配置的(视WebDAV是否使用SSL,不使用SSL需要调整Windows的一些参数),Linux系curl和wget都能很好地工作。

最后对于FTP来说,在服务端,Windows可以选择IIS的FTP功能,也可以选择FileZilla等FTP服务器程序,Linux系的话,一般选择vsftpd;在客户端,Windows下零配置,同样Linux系的curl和wget也完全没有问题。

1. 将Aira2下载目录建立共享

这里以Windows为例,因为如果是Linux系,更建议直接把Nextcloud也部署在同一主机中,然后使用Nextcloud挂载本地文件夹。

新建一个专用的本地账户,然后右键文件夹→属性→共享→网络文件和文件夹共享,设置刚刚新建的账户具有读写权限,然后,就完成了。这就是所谓,几乎零配置。

2. Nextcloud挂载SMB共享

首先需要安装php的smbclient扩展,包名一般叫php-smbclient。

然后在Nextcloud的外部储存中新建一个【SMB/CIFS】类型的外部储存,认证方式为【用户名和密码】,配置选项一看就知道该怎么填,特别需要说明一点的是【域名】需要填写为共享文件夹那个Windows主机的主机名

至此就可以从Nextcloud操作Aria2c的下载目录。
甚至你能将下载的文件再复制到Nextcloud的主储存目录,当然需要注意复制文件会有一个最长执行时间的问题,如果超出最长执行时间(通常是因为局域网是百兆链路),那么其结果是难以估计的,这一点需要注意。
抑或是设置共享,通过URL链接分享下载的文件。

3. (可选)配置Nextcloud外部站点插件

如果根据之前的AriaNg部署,那应该会有一个公网可访问的AriaNg页面,接下来要做的就是把这个页面嵌入NextCloud。好在NextCloud有一个External Website(“外部站点”)插件,配置一个新站点,站点URL就设置为之前那个公网可访问的AriaNg的地址。然后就大功告成啦🎉

当然AriaNg目前还不能设置主题颜色之类的东西,或者说不能很方便的调整色彩(一定要改的话,CSS文件就在你手里),因此可以考虑专门跑一个NextCloud实例用于管理下载(当然如果这样子的话,容器化会比较好。只不过容器化对于NextCloud这种更新得很频繁的软件来讲,并不是很有吸引力)。

间章二 · 关于ocDownloader插件的讨论

如果很早接触ownCloud/NextCloud,那应该听说过这个神奇的插件。它与本机的aria2c的RPC接口交互,可以在NextCloud内完成文件的下载。但是他并不是在NextCloud用户根目录新建一个虚拟文件夹来表示下载目录;仍然需要用户手动挂载外部储存。尽管如此,在当时可以说是一种神器般的存在。但时至今日,ocDownloader可以说,只能是没有办法的办法。

ocDownloader的典型界面
ocDownloader的典型界面
ariang的典型界面
ariang的典型界面

(摊手.jpg)

ocDownloader唯一值得称道的地方,可能只在于他可以选择curl作为下载后端,而安装curl又是极其简单的——只要装上php-curl就行了,事实上只要能正确安装nextcloud,基本都装上了php-curl,毕竟人家要更新的呀。
那我们来细数一下ocDownloader的不足之处:

  1. 只能与本机的aria2c交互。
    • 因为只能与本机的交互,因此暂不支持rpc-secret,而且我想这个功能的开发优先度也是很低。
  2. 作为插件,还需要手动挂载下载目录。