cassandra cql 中 like 模糊查询可能性

参考:http://www.tsoft.se/wp/2016/08/12/sql-like-operation-in-cassandra-is-possible-in-v3-4/

牙龈细菌会进入大脑 引发 AD 阿尔茨海默病

口腔健康状况不佳是阿尔茨海默氏症的一个危险因素?目前尚不清楚这两者之间的因果关系,是口腔不健康导致了阿尔茨海默症,还是它仅仅是呈现出来的结果?毕竟,许多阿尔茨海默症患者无法护理自己的牙齿。 据《科学》(Science)杂志官网报道,日前,一项由私人公司赞助的研究证实,导致牙龈疾病的细菌存在于阿尔茨海默氏症患者的大脑中,而不仅仅是口腔中。这项研究还发现,在老鼠身上,这种细菌会引发这种疾病典型的脑部变化。 实际上,近一年来有一波研究均表明,微生物感染可能是阿尔茨海默症的元凶。2018 年 6 月,《细胞》(Cell)子刊《神经元》(Neuron)上的一项研究认为,常见的人类疱疹病毒可能在阿尔茨海默病病情发展过程中发挥作用。今年 1 月初,《自然》(Nature)子刊《自然 - 通讯》(Nature Communication)的一项研究提出,常见的、能导致口腔溃疡的白色年菌株可以轻易通过血脑屏障,造成大脑皮层无症状感染,形成与阿尔茨海默症斑块相似的胶质肉芽肿,并造成短暂的记忆障碍。 最新的这项研究则是发表在《科学》(Science)子刊《科学 - 进展》(Science Advances)。该研究是由美国的生物科技初创公司 Cortexyme 赞助,公司的联合创始人 Stephen Dominy 是一名精神病学家,他在上世纪 90 年代对阿尔茨海默氏症可能因感染所致的想法产生了兴趣。 当时,Dominy 尚在加利福尼亚大学旧金山分校治疗艾滋病患者。Dominy 在治疗艾滋病患者的过程中发现,一些人患有艾滋病相关的痴呆症,在服用抗病毒药物后认知障碍病情也得到了缓解。 随后,Dominy 开始了“副业”,从已故阿尔茨海默症患者的脑组织中寻找牙龈卟啉单胞菌。他还和企业家 Casey Lynch 一起创办了这家公司,Lynch 在研究生时期曾研究过阿尔茨海默症。此前有证据表明,牙齿脱落、牙周疾病和阿尔茨海默症有很深的联系。而牙龈卟啉单胞菌是牙周感染最重要的致病菌,也被认为是 β - 淀粉样蛋白沉积、阿尔茨海默症的高危风险因素。 Cortexyme 公司与欧洲、美国、新西兰和澳大利亚的实验室合作,证实了此前的报道,即在阿尔茨海默症患者的大脑中发现了牙龈卟啉单胞菌。 他们还在活着的患者的脊髓液中检测到了这种微生物的 DNA,在 50 多个阿尔茨海默症患者的大脑样本中,90% 以上的人还发现了由牙龈卟啉单胞菌产生的有毒的牙龈蛋白酶。牙龈蛋白酶越多的大脑中,阿尔茨海默症相关的 tau 蛋白和泛素蛋白的含量也就越高。 阿尔茨海默氏症患者的脑组织中检测到的 β - 淀粉样蛋白(绿色)和细菌毒素牙龈蛋白酶(红色)。 即使是被选为对照组的大约 50 名非阿尔茨海默症死者的大脑中,也显示出较低水平的牙龈蛋白酶,暗示已发生了阿尔茨海默症病理。Lynch 说,早期发现是很重要的,因为“你会希望它在症状看到之前就出现”。 检测到了牙龈卟啉单胞菌,那么这种细菌是否会引起阿尔茨海默症?研究团队在小鼠中进行了验证。 研究小组每隔一天用牙龈卟啉单胞菌擦拭健康小鼠的牙龈,持续 6 周,确保感染。随后他们检测到,这些小鼠脑部的细菌、神经元死亡和 β - 淀粉样蛋白均高于正常水平。 在实验室的一个培养皿中,牙龈蛋白酶(作用是分解蛋白质)破坏了 tau 蛋白。研究小组认为,在大脑中,这种蛋白质损伤可能会刺激 tau 蛋白缠结的形成。 反之,研究小组给小鼠注射一种药物,该药物会结合牙龈蛋白酶,比常用的抗生素更有效地清除脑部的牙龈卟啉单胞菌,随之会减少 β - 淀粉样蛋白的沉积。 Cortexyme 公司表示,在对人类志愿者的初步测试中,一种小分子抑制剂药物 COR388 似乎是安全的,在 9 名阿尔茨海默症患者中表现出认知能力改善的迹象。而一项规模更大的研究定于今年开始。 哥伦比亚大学神经学家 James Noble 也在研究牙周病和阿尔茨海默症之间的联系,他表示,Cortexyme 公司的研究是迄今为止在阿尔茨海默症的大脑中发现齿龈疟原虫的“规模最大的”研究,而且“显然得到了非常全面的研究”。“这些想法很奇怪,但它们似乎正在产生一些吸引力。” 如果这些发现站得住脚,是否意味着所有感染了牙龈卟啉单胞菌的人都会得阿尔茨海默症?答案当然是未必。但是,Noble 说,如果健康的人想要保持安全,并有可能降低风险,“我们的主要结论仍然是:刷牙和使用牙线。

牙龈细菌会进入大脑 引发 AD 阿尔茨海默病

Z-Blog 标签清理小记 通过 SQL 清理多余标签

标签是文章的第二个维度,网站除了固有的分类之外还可以使用标签对文章进行细分。但是今天发现 z -blog 后台删除某标签后并不会关联清理帖子数据表中的标签字段。再加上我用插件进行标签合并等操作,合并操作也并不会清理帖子字段中的标签 ID,只是把标签表中的 ID 删除然后合并后的新 ID 加到帖子表的标签字段,是追加在原有字段后的,因此一打开数据库发现居然有的帖子有四五个标签 ID。但其实我每个帖子基本一个标签,多出来的属于冗余 ID。于是我在想着怎么清除。网站标签已经被自己清理到只剩几十个了,因此第一步我到 标签表中取得标签 ID,依次更新,这样所存在的帖子标签都被更新为一个。UPDATE zbp_post SET log_Tag='{133}' WHERE log_Tag like '%{133}%'按理说现在就只清空不存在的标签 ID 即可,一般一个标签最大字符长度为 5,因为帖子 ID 已是 3 位数,两个标签 ID 的例如 {1}{2} 字符长度最少为 6,运用 length 将多余字符串长度大于 5 的进行更新为空字符串。UPDATE zbp_post SET log_Tag=''  WHERE LENGTH(log_Tag)>5剩下的运用 substr 截取 ID 字符串,not in (可用标签 ID)将不可用标签筛选出来并更新为空。由于有三位数的 ID,因此将三位数 ID 截取前 2 个数放在 IN 中UPDATE zbp_post SET log_Tag='' WHERE SUBSTR(log_Tag,2,2) not in(11,12,13)

java 穷举 0 - 9 之间所有不重复的值

/* 五、分析以下需求,并用代码实现:        (1) 打印由 7,8,9 三个数组成的三位数,要求该三位数中任意两位数字不能相同;        (2) 打印格式最后的三位数字以空格分隔,如 789 798 879 897 978 987。         注:要求使用 StringBuilder 来完成 */public class HomeWork05 {    public static void main(String[] args) throws IOException {//         输入值并简单处理        Scanner sc = new Scanner(System.in);        System.out.println(" 请输入起始值 (0~9):");        int start=sc.nextInt();        System.out.println(" 请输入结束值 (0~9):");        int end=sc.nextInt();        int bound=end-start+1;        StringBuilder stringBuilder = new StringBuilder();        HashSet<String> set = new HashSet<>();        int cout=0;        Random r = new Random();        long bCount=boundCount(bound);        if (bCount>10000){            System.out.println(" 结果数超过 10000 为 "+bCount+" 计算会很慢, 请按任意键继续 ");            System.in.read();        }//         穷举各种可能,小于正确结果个数持续执行   直到达到正确个数        while (set.size()<bCount) {            int number = r.nextInt(bound) + start;            if (!stringBuilder.toString().contains(String.valueOf(number))&&stringBuilder.toString().length()<bound){                stringBuilder.append(number);            }else if (stringBuilder.toString().length()==bound){                set.add(stringBuilder.toString());                stringBuilder=new StringBuilder();            }        }        List ts = new ArrayList<>(set);        Collections.sort(ts); // 排序        System.out.println(" 结果数:"+ts.size());        System.out.println(ts.toString().replace("[","")                .replace("]","")                .replace(","," "));    }    /**     *  计算笛卡尔积运算去重后个数     * @param bound     * @return     */    public static long boundCount(int bound){        int sum=1;        for (int i = 1; i <= bound; i++) {           sum*=i;        }        return sum;    }}

Mark 一下 java 开源博客系统 solo

https://solo.b3log.org/

mongodb studio 3t 破解无限试用脚本

编写一个 bat 或 cmd 文件,内容如下:@echo offECHO  重置 Studio 3T 的使用日期......FOR /f "tokens=1,2,* " %%i IN ('reg query "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise" ^| find /V "installation" ^| find /V "HKEY"') DO ECHO yes | reg add "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise" /v %%i /t REG_SZ /d ""ECHO  重置完成,  按任意键退出......pause>nulexit 运行即可破解试用, 另外可以加到开机启动运行

IDEA 如何进行左右分屏显示代码

做几天代码重构,将 A 框架代码写成 B 框架,这就要打开两个窗口项目吧,如何让两个项目窗口各占屏幕一半呢?首先我是 Windows10 系统,介绍下强大快键键。点击其中一个 idea 窗口按 Windows 键 +←左箭头键(如果窗口没有半屏显示继续按 ←左箭头键直到半屏显示),同理点击另一个窗口 按 Windows 键 +→右箭头键(有时左半屏成功后右半屏会显示目前开启的所有窗口供你选择,直接选择即可)。另外在 idea 中也可以开启两个代码文件代码左右分屏或上下分屏显示,具体操作见下图,只需将鼠标放在代码窗口的文件名上鼠标右击即可。例如下图鼠标光标放在了“DataGrid5.js”这个文件名上右击。图片来源于网络。(图片源于网络)

IDEA 如何进行左右分屏显示代码

MacroDroid 让旧手机成为短信中转站 转发多余卡信息

联通流量卡盛行,不少双卡用户纷纷又为自己添置的第三张卡,双卡双待已然不能满足需求了,但是因为“情怀”或者旧号码绑定很多网站的账号,虽然平时不用它打电话什么的,但是偶尔还是用来接收短信验证码之类的。那平时是不是需要随身带个备用机??那好麻烦,现在有了下面教程让你完美转发短信到你现在用的手机上。1、旧手机(装需要转发短信手机卡)下载并安装 MacroDroid,选择添加宏 2、触发条件选“呼叫 / 短信”,选“收到短信”,联系人选任何号码或者是自定义规则,设置好后选确定添加3、动作选“Messaging”>“发短信”,选择发短信的手机卡以及目标发送的手机号。消息文本选输入框右侧省略号打开下拉选择,选“传入短信”4、设置号这些后保存这些并将宏状态设置为启动5、将该应用开启自启权限,并加入白名单让其不被后台清除。 接下来试试向旧手机发送信息吧,看看能不能转发到你的新手机呢!另外语音方面有需要的应该可以设置呼叫转移,可自行联系运营商咨询详情。链接:https://pan.baidu.com/s/1rMn5NhU9Pk88XDEVbi5l9g 提取码:tbet 蓝奏云 下载:https://www.lanzoux.com/b709021/提取码:h1oaMacroDroid 更多功能等你来挖掘。

如何让 idea 代码文件名 tab 窗口过多不自动隐藏

假如要编辑的代码窗口很多,默认 tab 上文件名超过一定数目会自动隐藏而只能点击下拉按钮下拉查找,这就比较麻烦了,如何让其全部显示呢?可参考下面: 打开 idea 如图界面, 点击 Settings,打开 Settings 窗口, 找到 Editor Tabs(可利用搜索功能),取消勾选的 Show tabs in single row 即可。

sqlite 转换成 MySQL 迁移及一键 sqlite 转 MySQL 软件

下列是我从网上搜集并做的一个整理,若有未提及地方请指出:从 sqlite 数据库导入到 mysql 数据库实例 从 sqllite 中导出数据文件库 XX.sql 的文件。导入到 mysql 数据库中。键入命令: source /smb/works/mysql.sql出现很多如下的错误:You have an error in your SQL syntax; check the manual thatcorresponds to your MariaDB server version for the right syntax to use near XXXXXXXXX原因是 sqllite 与 mysql 语句有很大的区别:左边为 MYSQL、右边为 SQLite1、启动事务 Mysql 为 start transactionSqlite 为 begin transaction2、提交事务Mysql 为 commitSqlite 为 commit transaction 因此需要移除所有的 [BEGIN TRANSACTION] [COMMIT] 以及 任何包含 [sqlite_sequence] 的 (整) 行3 创建表 Mysql 的库名、表名、列明等都不需要使用[]sqlite 所有的名称都需要增加[]4、数据类型sqlite 的数据类型 mysql 都支持。但是 sqlite 中定义了范围在 mysql 中导入会报错。只有 varchar 需要定义范围。5、冲突解决SQLite 的 ONCONFLICT 子句不是独立的 SQL 命令。这是一条可以出现在许多其他 SQL 命令中的非标准的子句。在 Mysql 中不支持。6、引号 将 ["] 改为 [`]也可以移除全部的 ["] ,但是如果有一些函数名作为字段名 (e.g. regexp) 时将会遇到错误 需要注意一些默认为 ["] ,其作用不在字段上的,不应被替换而应当被保留 7、将所有 [autoincrement] 改为 [auto_increment]8、将所有 ['f'] 改为 ['0'] 并将所有 ['t'] 改为 ['1'] 或者 ['False'] 改为 ['0'] 及['True']改为 ['1']9、text 字段不能设置 unipue,需改为 varchar(255)10、注意 sqlite 是不区分类型的,所以有些整形字段和 text 字段要修改配合 mysql。11、默认设为 CURRENT_TIMESTAMP 的字段类型一定为 TIMESTAMP。另外还有其他可能不同的字段类型在导入 sql 报错时候可以百度解决 将修改完的 sql 文件保存,然后通过工具导入到 mysql 中即可。参考原文:https://www.2cto.com/database/201604/501991.html          https://blog.csdn.net/duomoke/article/details/48246229当然最后来个最简单 sqlite 转 MySQL 方法,可以使用 sqliteToMysql 软件一键转换,只需要选择原 db 地址及目标 MySQL 地址即可,下载链接如下(有内购 不过可以免费试用):链接:https://pan.baidu.com/s/18mEN4JfHffseYf9N3GCeyA 提取码:9vv9