立夏至 春迟暮
春天终究是过去了,毫无感觉的样子。都不清楚从几号开始,白天的时间忽然就多了起来。从早上五点天色渐明,一直到晚上新闻联播都播完了,屋外才慢慢暗淡下来。
春天终究是过去了,毫无感觉的样子。都不清楚从几号开始,白天的时间忽然就多了起来。从早上五点天色渐明,一直到晚上新闻联播都播完了,屋外才慢慢暗淡下来。
博客作为以文字为类型的内容媒介,提升阅读体验是一项永无止境的工作。今天就来分享一个与之相关的优化事项:通过 CSS 来实现明暗样式的功能支持。
几个月前,手头有一个小项目准备上线。出于省钱和省事两方面的考虑,我购买了一台虚拟主机。目前来看,这是一个相当「鸡肋」的选择。至于原因,请参阅这篇在虚拟主机上折腾 Laravel 的总结。
对于 Web 前端界面,我已经习惯于使用 Bootstrp。好处是能够快速的搭建产品原型界面,问题是即便一个很小的项目,也不得不引入一百多千字节(KB)的样式文件。虽然使用压缩技术可以降低传输大小并提升加载速度,但治标不治本。因为那些没有用到的 CSS 代码依然还在传输和加载。PurgeCSS 是一个能移除未使用 CSS 的前端工具,能显著降低 CSS 代码体积。
Tailwind CSS 是一个别具一格的 CSS 界面框架。用官网的一句话来介绍:Rapidly build modern websites without ever leaving your HTML。也就是只要引入 Tailwind CSS,在不需要使用任何自定义 CSS 文件的情况下就能完成一个时髦的网站界面。
自去年发了这篇《Podman 安装和使用初体验》的文章后,我就在开发环境上开始了 Docker 到 Podman 的切换之旅。经过这几个月的实际体验,暂未发现任何不适或异常。作为使用的总结记录,今天就来分享一下使用 Podman 制作容器镜像的过程。
最近琢磨着想给手头的一个实验项目添加相关推荐的功能。因为要推荐的数据对象有标签数据,所以就准备从标签信息来入手,看看如何来完成相似性的关联。在经历了一番摸索后,我了解到了「余弦相似度」算法。
上次折腾了一下区块编辑器 Editor.js,心有戚戚。在深度实践了一下后,发现现阶段直接使用这个编辑器还存在一些问题。所以调整了一下方向,决定另找一个更加平滑的编辑器升级方案。目前的选择是 CodeMirror。
Laravel 是个了不起的 PHP Web 开发框架。项目结构清晰,功能模块齐全,代码风格统一规范,是我目前用起来最为顺手的项目框架。Laravel Mix 则是 Laravel 框架中的一个前端打包工具,它带给我的使用体验和 Laravel 一样优秀。
「区块编辑器」(Block-styled Editor) 是最近我刚接触到的一种线上编辑工具。使用这种编辑器让我感受到了不同于以往的线上编辑体验。而这些体验也让我迫不及待的想要分享一下尝试的过程和想法。
过年前发了一篇文章《Python Web 开发框架 - Sanic 初探》,提到我准备抛弃 PHP 的 Laravel 框架,并开始尝试使用 Python 的 Sanic 框架来完成项目。目前半个多月过去了,我准备分享一点实际使用后的体验和想法。
最近几年,我一直使用 Laravel 作为项目中主要的 Web 应用开发框架。Laravel 带给我的开发体验很棒,但受限于 PHP 语言的一些特性,我开始寻找一个在结构上可以更加精简和灵活的 Web 开发框架。目前我的选择是 Sanic。
今天是 2021 年最后一天,延续去年的习惯,依旧给自己来一个辞旧迎新的小仪式。总结今年来的所得,以及在即将到来的新一年里,对自己的期望。
手头在用的手机是一台 2016 年上市的 iPhone 7P,几年来也没出过什么毛病,性能也还凑合。出于对视频拍摄质量的需要,我决定还是买一台 iPhone 13。
最近半个月的时间一直在使用 React 重写一个内部进销存系统的前端页面功能。在脱离了 Laravel 框架的前提下,前端的很多基础配置都需要自己来解决。这其中就包括 CSS 代码的打包。
这几天我正在学习 React,目前已经掌握了如何结合 Webpack 搭建出一个 React 前端开发环境,以及配合 React router 来实现基于前端的路由和页面 js 按需加载功能。为了能在实际项目中使用 React,我还需要解决最后一个问题:用户登录认证功能。
在上一篇介绍使用 React 的文章里,我按照自己的需求以 Webpack 为打包工具,搭建了一个最基础的 React 开发环境。它虽然已经可以让我开始用上 React 的组件功能,但从我实际项目的需求出发,依然还缺少一些实用的辅助扩展。React router 就是其中之一。
作为一个「全干」程序员,前端相关的工作是少不了的。JavaScript 作为前端开发的不二语言,生态比较繁荣。Vue 和 React 就是其中比较有代表性的两个选择。一直以来我使用 Vue 比较多,所以对 React 还不是很了解。最近趁着一个项目前端要重构的机会,准备尝试一下 React。
自从 2012 年入手第一台 Apple MacBook Pro 笔记本以来,我都觉得 macOS 系统是非常适合全栈程序员的一个选择。它既有类似 Linux 的终端和开源软件体验,又有不逊于 Windows 的商业软件支持,而且在苹果软硬一体的整合式设计和优化下,其产品让我觉得有着非同一般的吸引力。
刚过去一个月,Apple 又发布了新一期的特别活动。一个月前的发布会推出了 iPhone13 和入门级别 iPad 线的更新。这次 Apple 带来了全新的耳机 AirPods,智能家居助理 HomePod mini,和我比较期待的 MacBook Pro。
Docker 是我日常开发工作中离不开的环境工具软件。不仅是本地搭建开发环境,在一些项目的线上部署中也会用到。不过最近我注意到 Docker 背后公司的一些举动有些不太对劲,为以防万一,我开始提前了解它的替代品:Podman。
作为一个终端界面的重度使用者,Linux 系统下默认的 Bash 无法满足我的折腾欲。Zsh 则是一个非常易用,支持功能扩展的 Shell 程序。不仅有漂亮的主题,还有各种插件来实现更多个性化的功能。
我最近一直在找一门理想中的静态编译语言。看过 Rust,也体验过 Crystal 和 Go。从语法角度来看,Crystal 完全照搬 Ruby 的格式让我十分喜欢。但 Go 的热度又让我觉得这会是一个更加务实的选择。至于 Rust,语法过于怪异,还有点难以接受。所以我决定在 Crystal 和 Go 之间做出选择。
现如今,任何一个看起来能跟上时代的编程语言,都要有一个包管理工具。否则就容易让人感觉缺少点什么。JavaScript 作为前端开发的必备编程语言,自然也是少不了这一标配。今天就来总结下 JavaScript 目前的包管理方式和工具。