响应式网页编程中 HTML 标签 meta viewport

在看 html meta 信息的时候看到了 <meta name="viewport" content="width=device-width"> 这样的内容,所以学习下 Viewport 概念。 viewport 是用户浏览网页时视觉区域的大小,浏览器的可见区域就大,而手机屏幕明显就小。在平板和手机还未流星之前,网页一般都是为计算机浏览器设计,这就通常让网页有一个固定的设计,和固定的宽高。 然后,当我们使用平板或者手机浏览网页时,固定大小的页面内容通常都无法适应 viewport,为了解决这个问题,这些小屏幕设备上的浏览器通常将整个页面 Read more ...

2018-09-24 html , viewport , html5 , css

《深入理解 Bootstrap》读书笔记

bootstrap 是 Twitter 开源出来的 CSS 框架,因为用到了就简单的了解一下。 CSS 选择器 每一条 CSS 样式的定义都由两部分组成,形式如下:选择器{样式}。在{}之前的部分就是“选择器”。“选择器”指明了应用这些“样式”的网页元素。 属性选择器 [data-toggle^=button],属性选择器有很多种用法,[attr=value] 表示该属性有确定的值。 子选择器 CSS 子元素用 > 表示,.table > thead > tr > th 表示的是 table 样式,thead 元素内 tr Read more ...

2018-09-23 bootstrap , css , twitter , web-design , html5

使用 kindlegen 命令打包资源到 mobi

KindleGen 是亚马逊提供的一个电子书格式转换工具,在提供格式转换的同时,也可以把 HTML,XHTML,或者特定 opf 格式的源文件内容打包成 Kindle 的电子书格式。关于电子书转换的部分可以参考之前的文章 Read more ...

2018-09-22 kindle , kindlegen , commmand , amazon , mobi , epub , format

每天学习一个命令:使用 modprobe 加载禁用内核模块

Linux 的 modprobe 命令用于从 Linux kernel 中装载和卸载模块。modprobe 可载入指定的个别模块,或是载入一组相依的模块。modprobe 会根据 depmod 所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在 modprobe 会卸载整组的模块。需要注意的是为了方便,模块名中的 - 和 _ 是没有区别的。 modprobe 命令会查找 /lib/modules/'uname -r' 目录中的模块和文件 (uname -r 是内核版本),但是不会查找 /etc/modprobe.conf 和 /etc/m Read more ...

2018-09-21 linux , modprobe , kernel

小米笔记本 Air 13.3 在 Linux Mint 下安装 nvidia 驱动

先来说说前因后果,因为使用之前 msi 上的系统恢复到小米笔记本 所以也不存在 wifi 驱动的问题,恢复完成之后一切都非常顺利,所有的一切设置都和之前的笔记本一致,唯一让我不满意的就是说好的续航非常给力呢,实际使用也只有短短三个小时,比我之前的 GE60 好不到哪里去。所以我就在想问题出在哪里,显卡肯定是首要原因。 另外其他的耗电可以使用 sudo apt install powertop 然后使用 sudo powertop 来查看,基本上也就是显示屏,wifi 模块耗电之外,如果看到其他不正常的耗电就需要仔细查看一下了。 Nvidia 所 Read more ...

2018-09-20 linux-mint , nvidia

epub 格式解析

epub 是一个电子书标准,最近在研究电子书解析,所以有了此文。 一个标准的未加密的 epub 电子书大致由以下三部分组成: META-INF 文件夹,其中包含 container.xml 文件 OEBPS 文件夹,包含 images,xhtml 文件,css 样式和 content.opf 文件 mimetype 文件,内容为 application/epub+zip META-INF 文件夹 META-INF 用于存放电子书信息,默认情况包含一个 container.xml 文件: <?xml version="1.0" Read more ...

2018-09-19 epub , ebook , python-lib , parse

电子书常见格式及格式转换

最近因为写 kindle 推书的服务,所以不得不接触到了不同的电子书格式,mobi,epub, azw3,都比较常见,kindle 只支持 mobi 格式,所以亚马逊提供 了 KendleGen 这个工具来将 epub 转换为 mobi 格式。 也正是因为这个结果,所以现在基本上也只有 python 读写 epub 的库,mobi 的读写目前做的也不是很好。如果单纯的只是想要转格式 Calibre 已经做的很好了,UI 也有。这里只是谈论编程方式读写 epub 格式。 格式 最近几年因为 Kindle 的介入,图书电子化的趋势越来越明显,虽然各大厂都 Read more ...

2018-09-18 ebook , epub , mobi , pdf , convert , kindlegen , calibre , python , python-lib , azw , azw3

如何配一副眼镜

在中国无论是购买什么东西,都需要对这一个行业进行深度的了解,不然就会被坑,眼镜同理。回想一下我当前戴的眼镜已经八年多,现在感觉是佩戴眼镜已经不舒服,所以就想要做个简单的了解。 从定下需求(寻找一副合适、舒服、能够长时间佩戴眼镜),到最后真正验光,下单购买也过去不下两个星期了。所以总结了这篇文章,如果能够帮助到其他人当然更好。 配眼镜相关的步骤无非就是验光,选镜架,选镜片,这主要的三个步骤,其中验光、镜片这两个步骤对我来说是最繁杂的部分,我上一次验光可能还是八、九年前,关于眼睛的度数散光也没怎么注意,但是验光的准确性对于配眼镜是非常重要的一步。另外就是 Read more ...

2018-09-15 眼镜 , 经验 , methodology

SQLAlchemy 中处理 relationship

本文主要关注在 SQLAlchemy 中实现基本的关系模型,一对多,多对一,多对多等等。 一对多关系 通常一对多的关系,使用外键,用最常见的用户,地址来举例,每个地址只有一个住户,但是一个住户可以拥有多个地产。所以在 Address 中有一个外键指向 user.id 的主键。而 User 表则是使用一个 relationship 来表示多个地址。 from sqlalchemy import Integer, ForeignKey, String, Column from sqlalchemy.ext.declarative import decla Read more ...

2018-09-11 sqlalchemy , sql , flask , python

邮件服务器相关概念学习

学习邮件服务器的一些笔记。 几个概念 电子邮件相关的基本概念: [[MUA]] [[MTA]] [[MDA]] MUA [[MUA]] 全称为 Mail User Agent 邮件用户代理。常见的 MUA 实例有: mutt, outlook, foxmail 等, 其主要任务是让用户能够收信,写信,发信。MUA 并非直接将 E-mail 发送到收件人手上,而是通过 MTA 代为传递。 MTA MTA 全称 Mail Transfer Agent,MTA 仅仅负责邮件的传输。常见的 MTA 有 Postfix, sendmail, Read more ...

2018-09-05 mail-server , mail , linux , smtp , mailgun , email

最近文章

  • Executor:多 Agents 和外部世界之间的统一代理层 同时使用 Claude Code,Codex,Pi,OpenClaw 等等 Agent 工具时有一个非常尴尬的状况,就是不同的 Agent 工具维护了不同的配置格式,如果要配置 MCP server 就需要分别到不同的配置文件中定义,相同的配置散落在系统的各个角落中。同一份 API Key 也需要重复粘贴到不同的配置中,更麻烦的是如果一旦有更新或者 API Key 变动就需要重复修改多个地方,我之前还调查过如何[[跨平台管理 MCP]],主要的思路还是通过脚本和同步来对齐配置,但本质上还是在管理多个副本,直到我看到了 Executor 这个项目。
  • 把 Android 手机当成 USB 无线网卡:以及那些被低估的安卓妙用 昨天我把一块装着 [[Proxmox VE]] 系统的硬盘从之前的 SER8 拆下来,插到 4 盘位的 Me Pro 上,本以为开机就能继续用,结果卡在了最基础的一步:Me Pro 的物理网口和我原来的网口对不上,物理网口变更了名字导致无法上网。屏幕上 PVE 的控制台在闪,ip addr 里却无法找到两个物理网口,Web 管理界面自然也打不开。
  • Ignis:把 Obsidian 变成真正的自托管网页应用 用 [[Obsidian]] 记笔记这么多年,有一个需求一直没有被很好地解决,那就是在浏览器里直接访问自己的笔记库。Obsidian 官方一直没有推出 Web 版本,过去想要在别人的电脑上、或者在不方便安装客户端的环境里查看和编辑笔记,要么依赖远程桌面这种笨重的方案,要么就只能把笔记渲染成静态网站,牺牲掉编辑能力,或者通过 SSH 登录我的 macOS 通过命令行方式访问。最近我发现了一个叫 Ignis 的开源项目,它的口号非常直接:Run Obsidian as a self-hosted web app. Not remote desktop, an actual web app。它不是远程桌面,而是让 Obsidian 真正跑在浏览器里,体验下来确实让我眼前一亮,这篇文章就来聊聊它。
  • 卧底厨神观后感 2026 年山之日这个假期外面下着雨,没有出行的计划,索性看起了放到了待看列表的《卧底厨神》,因为之前看过《黑白大厨》知道了权主厨,郑主厨,本来没有对这部综艺抱有太大的期待,只是想在一个休息日放松心情看一篇轻松的综艺,但没想到完全被这三位主厨圈粉了。
  • mise 的 minimum_release_age 给新版本加一道冷静期的供应链安全机制