Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

blog.lui8.cn

Mr Li

Get the latest updates from Mr Li directly as they happen.

Follow now 21 followers

Latest posts

Last updated 20 days ago

Kubernetes 应用之 JupyterHub 搭建和运维

20 days ago

前言   之前在《JupyterLab 的搭建与运维》一文中,尝试了在单机上搭建部署 JupyterHub。不得不说,的确方便了团队内部共同使用同一台 GPU 服务器。但也有比较大的限制: 运行中的实例对于 CPU、GPU、内存、硬盘等资源完全共享。当所有用户都申请的资源总和超出服务器所拥有的资源时,任务的运行效率将会大打折扣。甚至可能会容易出现內存溢出的问题,造成宿主机出现 BUG。 难以同时管理多台服务器。在有多台不同 CPU/GPU 服务器时,单机部署的方案会造成多个入口,且很难实现用户数据在多机间的实时同步。...

《手解量子化学》练习题 1-2

about 2 months ago

练习题1-2 判断下列算子是否可交换? \[[1]\ [\hat{x},\hat{p}_x] \quad [2]\ [\hat{l}_x, \hat{l_y}] \quad [3]\ [\hat{\boldsymbol{l}}^2, \hat{l}_z]\]...

《手解量子化学》练习题 1-1

about 2 months ago

练习题1-1 判断下面的算子是否厄米(Hermitian)或为厄米算子(Hermite Operator)。 \[[1]\ {d \over dx} \quad [2]\ {\mathrm{i}{d \over dx}}...

Kubernetes 不完全入门

9 months ago

前言   Web 应用的生产环境部署随着技术的发展不断地发生改变,如下图所示,从最早期的单机环境到多机环境,再发展到复杂环境: 单机环境指的是代码、运行环境、文件存储、数据库服务都在同一台服务器上的应用部署方式。通常来说,个人应用或者早期 Demo 应用大多采用这类方式。单机环境的优点在于不需要太多服务器资源,缺点在于过分依赖本地资源而没有高可用性、高可扩展性以及数据的安全保障。如果是云服务器作为单机环境,可以通过升级配置的方式来提高 CPU、内存和存储资源。至于数据则可以通过异机备份或本地备份的方式来保障数据的可靠性。 多机环境指的是同一应用所需的运行环境、数据库服务、文件存储服务分布在不同的节点或集群中的应用部署方式。这类方式的优点自然是具备高可用性、高可扩展性以及完备的数据安全保障,缺点则是需要大量的服务器资源。因此,多机环境通常是对外大量用户提供服务时常用的方式。 复杂环境打破了原有的瓶瓶罐罐,是多机环境的一种的超级形态。在复杂环境中,不再拘泥于服务器节点本身,而是利用 Web 应用将已有的云资源联系在一起。说得更直白一点,就是应用开发者不再需要关心应用运行环境、数据库服务、文件存储等基础环境的配置和管理,唯一需要关心的只有应用代码本身。这也是现在大部分 Web...

生活中的小问题——公交计费问题

about 1 year ago

前言   谈到生活中经常坐的公交车,比较常见的算法问题可能是寻找“耗时最少公交路线”、“最少换乘公交路线”、“最便宜公交路线”、“综合最优公交路线”等。这些算法由于在地图软件中经常被使用,已经被大家研究得非常透彻,比如 Dijkstra 算法就可以用来计算“最短距离公交路线”。如想了解更多,可以阅读参考资料 2 给出的中文文献。   相比这些常见的算法问题,不如让我们来一起看看不大被人提及的“公交计费问题”。笔者经常在下雨的时候乘坐公交车,每次上车前会先取一张票,然后下车前可以看屏幕显示来知道票价。于是笔者就有了一个小问题:票价是如何正确显示的,是否可以对其建模并写个小程序模拟一下。 问题描述   如图 1 所示为公交计费问题描述。 (a)...

命令行工具开发指南——入门篇

about 1 year ago

前言   命令行工具(Command Line,Cli)作为我们日常开发常用的辅助性工具,几乎遍布于各种操作中。根据使用目的的不同大致可以分为以下几类: 从模板中生成项目:比如使用 npm init 从空模版创建一个新的 NodeJS 项目,使用 composer create-project laravel/laravel...

通用运行环境版本管理神器 ASDF

over 2 years ago

前言   之前介绍了高性能集群中常用的运行环境和软件版本管理工具 Modules,今天打算介绍一款适合个人或团队开发使用的通用运行环境版本管理神器 ASDF。与高性能计算任务不同,个人或团队开发项目一般来说都是使用独立的设备或环境,然后通过代码版本跟踪 git 等来进行异步协作。所以说,在每个人的单个或多个设备上都安装配置 Modules 显得有点不太现实和高效。但是项目开发所需的代码环境确实有的时候可能比较复杂,比如说同时需要 Ruby、NodeJS、Java、Python 四种环境,而且可能对于每种环境还有版本的限制。这样一来,光配置这一堆环境就要花上大半天时间了。 ASDF 简介...

Modules 配置之 Python

over 2 years ago

前言   近年来得益于其轻量、易学易用、第三方支持依赖库多的特点,Python 语言大量被用于机器学习相关的研究、项目开发。在学术界,有以 Scikit-Learn 为代表的全能机器学习库;在产业界,有以 TensorFlow、PyTorch 为代表的生产级机器学习模型计算框架。(当然,学术界实际上构建大规模深度学习模型时也会用到 PyTorch 等计算框架。)但对于大多数人来说,学习这些库、框架或者借助它们从事某些研究、项目开发时,可能还是在用自己的笔记本、台式机。哪怕是在高校的实验室里,这种事情也是屡见不鲜。因此,有交互界面、相对容易上手的 Anaconda 可能会作为大家管理 Python...

集群动态环境管理神器 Modules

over 2 years ago

前言   Modules 包是一款简化 shell 初始化的工具,允许用户在会话期间使用模块文件轻松切换环境。 ------ Environment Modules 官网   在高性能集群或者超算中,我们可以经常看到 Modules 的身影。它可以帮助我们轻松加载运行程序所需的各类环境,比如说笔者之前写过的第一性原理计算软件...

LDAP 集成之 OpenVPN 篇

almost 3 years ago

前言 Easy Connect   公司、学校、云服务等一般需要将内外网进行分离,如果想要从外部网络访问某些内部应用,通常需要使用公司、学校、云服务提供的专用网络接入服务。国内公司、学校比较常用的是由深信服开发的 Easy Connect,一种 SSL VPN 技术的实现。虽然每年需要支付一定的费用来维护、升级 Easy Connect 服务,但是毕竟它能够提供比较细粒度的权限控制,比如说对目标...

LDAP 集成之 Squid 篇

almost 3 years ago

前言   Squid cache,简称 Squid,是一款高性能的代理缓存软件。Squid 本身支持包括 HTTP、HTTPS、FTP、SSH 在内的多种协议,且采用一个单独的、非模块化的、I/O 驱动的进程来处理所有的客户端请求,从而提供主动缓存加速的功能。除此之外,Squid 还可以提供应用层过滤控制的功能,也可与其他的防病毒软件一起使用。在一些大公司、学校、研究机构内部,一般采用 Squid 代理上网的方式,可以过滤危险内容或操作、节省网络带宽、提升访问速度。   但实际上...

内网私有域名解析

almost 3 years ago

前言 域名和域名解析   大家可能知道,在网络被发明出来之后一段时间,大家采用 IP + Port 的方式一起共享资源。后来随着资源越来越多,这样一种方式显得非常不友好。比如说,现在有 254 个 IP,每个 IP 上有...