最新 | 最热门 | 最高评价

+0  ZSH 自动读取 macOS 系统代理配置并设置环境变量

Tag: 技术向 | macOS | zsh | oh-my-zsh
skk 发于 2020年12月07日 10:47 | 点击: 510 | 展开摘要
和其它 Linux 的 DE 一样,macOS 也支持在「系统偏好设置」中设置 HTTP 代理、HTTPS 代理,但是 macOS 并不会在终端(Terminal、iTerm)的 shell 中自动生效系统代理配置。为了方便日常使用,我决定好好研究一下 macOS 的系统代理。
macOS 系统代理的行为
和 Linux 和 Windows 只有一种系统代理配置不同,macOS 为每一种网络设备(Wi-Fi、Ethernet、Bluetooth PAN 等)维护了独立的网络配

查看全文: http://www.udpwork.com/item/17945.html

+0  USTC Hackergame 2020(中科大信安赛)write up

Tag: 技术向 | CTF | Hackergame
skk 发于 2020年11月07日 06:00 | 点击: 563 | 展开摘要
作为一只 CS 零基础、信安零基础、CTF 零基础的菜狐狐,苏卡卡今年又来参加 USTC Hackergame 啦!由于一边做题一边总结思路(指写 Write Up),所以苏卡卡应该是第一个发布非官方的 USTC Hackergame 2020 Write Up 的吧(嘿嘿)。
题图来自 USTC Hackergame 2019「Happy LUG」
签到题

只要提取 1 个 flag 就好啦!可是,为什么这个反人类的 form-control 的步长竟然是 0.00001

查看全文: http://www.udpwork.com/item/17947.html

+0  Bilibili 2020「1024 程序员节」CTF Write Up

Tag: 技术向 | CTF | Bilibili
skk 发于 2020年10月25日 17:44 | 点击: 426 | 展开摘要
周六不放假休息,还在这加班搞 CTF?
10 月 24 日不睡觉、凌晨两点钟我还在水群,结果在 USTC@LUG 的群里看见有人在打 Bilibili 的 CTF。我刚刚好一年(指 370 天)没有打过 CTF 了(上一次打正式的 CTF 还是去年参加的 USTC Hackergame 2019),所以想着来玩玩。虽然 CTF 结束之前不应该分享和公开 Write Up 和题解,不过 Bilibili 这 CTF 既然这么离谱,那我也没必要按照常理出牌。
本文更新于 2020

查看全文: http://www.udpwork.com/item/17948.html

+0  从 Google Analytics 的统计代码说起 —— 谈谈 script 标签的 async 和 defer 属性

Tag: 技术向 | Chrome | JavaScript | 异步 | Firefox | 浏览器
skk 发于 2020年10月13日 17:25 | 点击: 464 | 展开摘要
之前我在「天下武功,唯快不破 —— 我是这样优化博客的」一文中提到「对于大部分浏览器来说,确保 JS 异步加载和执行的做法其实是在操作 DOM 动态插入 <script async>」,但是并没有给出详细原因。这一次我以 Google Analytics 的统计代码为引子,详细讲讲 <script> 的 async 和 defer 属性、以及它们背后的故事。
拆开 Google Analytic 的统计代码
现在 Google 推出了 Google T

查看全文: http://www.udpwork.com/item/17949.html

+0  再快一点,再快一点 —— 优化博客白屏时间的实践

Tag: 技术向 | 前端性能优化 | CSS
skk 发于 2020年10月03日 16:40 | 点击: 360 | 展开摘要
两个多月以前,我写了一篇文章 介绍我是如何优化我的博客的,但是我对于博客的白屏时间仍然不满意。过去一个月我在博客上进行了一系列优化实践,终于成功将博客的白屏时间减少了将近 50%,这篇文章就来记录优化的过程和方案。
确定和分析白屏时间
First Paint 和 First Contentful Paint 是衡量白屏时间的重要指标。Google Chrome 团队提供了专门的库 web-vitals 用于在浏览器中衡量这些指标。直接在本地开发环境中引入该库:

<sc

查看全文: http://www.udpwork.com/item/17950.html

+0  我就感觉到快 —— zsh 和 oh my zsh 冷启动速度优化

Tag: 技术向 | lazyload | macOS | zsh | oh-my-zsh | bash
skk 发于 2020年08月10日 11:59 | 点击: 450 | 展开摘要
不论是在 WSL、Linux 还是 macOS 上,强大的 zsh 一直是我的不二法宝,而 oh my zsh 自然成了最趁手的瑞士军刀,我自己还编写了数个 oh my zsh 插件和主题。直到有一天我突然发现:见鬼,为什么开个 iTerm2 的 Tab 要等上好几秒钟?
zsh 启动耗时测量
首先,我们需要一个客观衡量 zsh 启动速度的标准,而使用 macOS 和众多 Linux 发行版中自带的 time 可以轻松计算任何命令的执行用时,包括 shell:

$ /usr

查看全文: http://www.udpwork.com/item/17952.html

+0  天下武功,唯快不破 —— 我是这样优化博客的

Tag: 技术向 | 前端性能优化 | lazyload | JavaScript | CSS | HTTP
skk 发于 2020年07月11日 19:49 | 点击: 815 | 展开摘要
哪个男孩不想拥有一个速度非常快的博客 之前我也写过少许 关于 Web 性能优化的文章,但是却从未介绍过自己的博客是如何优化的。这次我来水篇文章,罗列一下我的博客的几个零散的优化点。
服务器与 CDN
很多人都在我的博客下评论,问我的博客用了哪里的服务器这么快。实际上,我不仅没有用香港、新加坡等亚太服务器,而是用的被誉为「减速器」的 Cloudflare,因为不少好事者和脚本小子喜欢拿我的博客开涮。有了 Cloudflare,我可以预先编写好 FIrewall Rules,几乎

查看全文: http://www.udpwork.com/item/17955.html

+0  Node.js 多线程 —— worker_threads 初体验

Tag: 技术向 | JavaScript | Node.js
skk 发于 2020年06月12日 18:16 | 点击: 473 | 展开摘要
JavaScript 是一个具有「单线程」特性的「简单」语言,适合完成一些「简单的任务」,比如验证表单、当访客离开页面时改变页面标题和 favicon、或者渲染整个页面、双向绑定与视图更新(等等,这听起来可不像是什么「简单的任务」)。
支持多线程的后端语言常常具有专门的机制在进程之间同步数据,而 Node.js 决定添加多线程支持,就需要一些变通方案了。
Node.js 是「单线程」的吗?
在讨论如何编写 Node.js 多线程应用之前,先谈谈 Node.js 本身是不是「单

查看全文: http://www.udpwork.com/item/17958.html

+0  将 Hexo 部署到 Cloudflare Workers Site 上的趟坑记录

Tag: 技术向 | Cloudflare | Cloudflare Workers | Hexo | JavaScript | GitHub Action
skk 发于 2020年06月07日 20:30 | 点击: 715 | 展开摘要
为了进一步缩短自己的博客的 TTFB,我决定将自己的博客部署到 Cloudflare Workers Site。没想到我会把几天时间花费在折腾这个上。
缘由
哪个男孩不想拥有一个速度特别快的博客 非常关心博客速度的苏卡卡时不时就用 Google 的 Pagespeed 跑一次分。终于 Google Pagespeed 给我报了一项问题 —— 「网站 TTFB 过高(0.15s)」。
苏卡卡的博客在 Serverless 平台上,套了一层 Cloudflare,同时启用了 Cl

查看全文: http://www.udpwork.com/item/17959.html

+0  你好黑暗,我的老朋友 —— 为网站添加用户友好的深色模式支持

Tag: 技术向 | JavaScript | CSS | Media Query | 深色模式
skk 发于 2020年05月26日 14:05 | 点击: 515 | 展开摘要
随着越来越多的操作系统、浏览器开始支持 Dark Mode、支持相应的 Media Queries Level 5,越来越多的网站开始添加深色模式。当然我的博客也不甘落下,趁着新的主题完工不到一个月、还看得懂自己写的代码,也加上了深色模式。
什么是「深色模式」
很多操作系统在日落后会自动切换到「深色模式」、并不意味着「深色模式」就是「夜间模式」。「夜间模式」用于夜晚的弱光环境,主要目的是保护眼睛、减少强光刺激、避免影响睡眠,不难理解为什么 macOS 的 Night Shif

查看全文: http://www.udpwork.com/item/17961.html

+0  HTTP/3:HTTP Alternative Services 作为协商方式

Tag: 技术向 | HTTP | HTTP/2 | HTTP/3
skk 发于 2020年05月18日 12:58 | 点击: 408 | 展开摘要
每当 HTTP 协议进行重大变革的时候,客户端和服务端总是需要一定时间进行适配和兼容。而从 gQUIC 数十个迭代到 HTTP/3 的十数个草案版本,客户端和服务端之间如何决定用哪个方式连接,本文就来谈谈这个。
HTTP/2 的协商方式
HTTP/1.1 在制定时提出了 Upgrade 机制(你可以在 RFC7230 中找到相关的定义)。一般的,由客户端在请求头中发出申请使用别的协议:

GET http://skk.moe HTTP/1.1Connection: Upgra

查看全文: http://www.udpwork.com/item/17962.html

+0  HTTP/3:从 SPDY 到 QUIC

Tag: 技术向 | HTTP | HTTP/2 | HTTP/3 | QUIC
skk 发于 2020年05月17日 20:36 | 点击: 391 | 展开摘要
HTTP/3 和 HTTP/2 以及 HTTP/1.1 最大的不同应该是 HTTP/3 颠覆了 HTTP 使用 TCP 的「传统」。如果要写一系列和 HTTP/3 相关的文章,不能不提一提 QUIC 的故事。
硬币:HTTP/2 的正面和反面
在这之前,我用了三四千字写了一篇 HTTP/2 三大特性的介绍、以及讲述了如何将其用于更快速的递送静态资源,如果你还没有读过那篇「静态资源递送:HTTP/2 和 Server Push」的话,其实无伤大雅,反正我要把 HTTP/2 再总

查看全文: http://www.udpwork.com/item/17963.html
|<<<1>>>| 一共1页, 12条记录