惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LangChain Blog
W
WeLiveSecurity
P
Proofpoint News Feed
月光博客
月光博客
NISL@THU
NISL@THU
L
LINUX DO - 最新话题
Webroot Blog
Webroot Blog
T
Threatpost
Y
Y Combinator Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threat Research - Cisco Blogs
Vercel News
Vercel News
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
S
Schneier on Security
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
小众软件
小众软件
MyScale Blog
MyScale Blog
N
News and Events Feed by Topic
Stack Overflow Blog
Stack Overflow Blog
有赞技术团队
有赞技术团队
The Hacker News
The Hacker News
Schneier on Security
Schneier on Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Help Net Security
Help Net Security
Recent Announcements
Recent Announcements
S
Security @ Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Securelist
T
The Exploit Database - CXSecurity.com
云风的 BLOG
云风的 BLOG
C
Cisco Blogs
雷峰网
雷峰网
量子位
Google DeepMind News
Google DeepMind News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy
L
Lohrmann on Cybersecurity
I
Intezer
T
The Blog of Author Tim Ferriss
G
GRAHAM CLULEY
D
DataBreaches.Net
V
Vulnerabilities – Threatpost
P
Privacy & Cybersecurity Law Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
罗磊的独立博客

wuxinhua.com Blog | RSS Feed

写作者与不写作者:AI 时代的思考分水岭 - wuxinhua.com 一文搞懂 Prompt Engineering - wuxinhua.com #30 AI 颠覆我对传统创业团队的认知 - wuxinhua.com 前端面试系列 - 手写代码 - wuxinhua.com #29 微软与 OpenAI 合作内幕 - wuxinhua.com #28 离 30 岁越来越远 - wuxinhua.com Add AI Chatbox to your VitePress document site - wuxinhua.com Building a Blog Subscription and Pusher with AirCode and Resend - wuxinhua.com #27 创始人是公司灵魂的守护者 - wuxinhua.com 快速上手 Midjourney AI 做图 - wuxinhua.com Building your first Discord ChatGPT Bot - wuxinhua.com ChatGPT 机器人系列 - 用 JavaScript,五分钟将 Siri 接入 ChatGPT - wuxinhua.com ChatGPT 机器人系列 - 用 JavaScript 五分钟开发一个飞书 ChatGPT 机器人 - wuxinhua.com ChatGPT 机器人系列 - 用 JavaScript 开发企业微信 ChatGPT 聊天应用 - wuxinhua.com #26 SVB 硅谷银行为什么倒闭 - wuxinhua.com #25 人人都可以成为 AI 工程师 - wuxinhua.com #24 关注你身体的变化 - wuxinhua.com #23 Be positive - wuxinhua.com 前端面试系列 - 前端八股文 - wuxinhua.com #22 AI 在殖民,社交媒体在衰退 - wuxinhua.com #21 我了解到的新冠后遗症 - wuxinhua.com #20 关于死亡和告别 - wuxinhua.com #19 永远无法准备好 - wuxinhua.com 我的 Newsletter 321来信 - wuxinhua.com Node.js 包管理及 npm 依赖安装机制 - wuxinhua.com 知识的碎片(2021) - wuxinhua.com 放弃 newsfeed 拥抱 newsletter - wuxinhua.com 混迹于 Clubhouse 两周后的一些想法🤔 - wuxinhua.com 认识Docker - wuxinhua.com 知识的碎片(2020) - wuxinhua.com 初探 Web Components - wuxinhua.com Linux 命令行之 Crontab - wuxinhua.com 今年看的书📚(2019) - wuxinhua.com 适配 iOS 13 - wuxinhua.com React Native 新手常见问题及体验总结 - wuxinhua.com ES10(ECMAScript2019)特征预览 - wuxinhua.com Flexbox布局完全指南 - wuxinhua.com 今年看的书📚(2018) - wuxinhua.com 《从0到1 - 如何创造未来 》书评 - wuxinhua.com www背后的故事 - wuxinhua.com contenteditable 踩坑记 - wuxinhua.com Good Code vs Bad Code in Golang - wuxinhua.com 关于React的几道面试题 - wuxinhua.com SVG动画实践 - wuxinhua.com 今年看的书📚(2017) - wuxinhua.com 对比几种常见的排序算法 - wuxinhua.com React服务端渲染(SSR)初探 - wuxinhua.com 从面试题“输入URL...发生了什么”学到的(下) - wuxinhua.com 从面试题“输入URL...发生了什么?”学到的(上) - wuxinhua.com ES6(ECMAScript 6.0)新特征 - wuxinhua.com 对React-redux中connect方法的理解 - wuxinhua.com 我的 RSS 订阅列表 - wuxinhua.com 《空谷幽兰》书评 - wuxinhua.com 你可能不知道git rerere - wuxinhua.com webpack v2升级踩坑笔记 - wuxinhua.com
macOS 前端开发环境配置 - wuxinhua.com
2022-08-01 · via wuxinhua.com Blog | RSS Feed

Overview

当我们更换新的电脑或者入职新公司的时候,通常会需要重新配置一下电脑的开发环境,比较理想的方式就是能够复制我上一台设备的一些配置和软件,这样能快速地开始开发工作,这篇文档记录的是常用的软件、前端开发环境配置等,以及如果使用 dotfiles 重复利用这些配置;每个开发者或许都有自己的 dotfiles 对一些命令行工具、IDE 等配置的备份,然后通过脚本自动化新设备的所有的配置。

Setup

  • 硬件

    • 💻 MacBook Pro
      • 版本:一般内置最新版 macOS,建议手动升级到最新版本:左上角  图标 -> 系统偏好设置 -> 软件更新
      • Finder:
        • 可根据个人喜好显示 -> 勾选【显示路径栏】【显示状态栏】
        • 显示所有文件扩展名 -> 系统偏好设置 -> 高级 -> 显示所有文件扩展名
      • 这里收集了一些非常好用的 Mac 应用程序、软件以及工具 awesome-mac
      • Mac的高效率开发上篇
    • 🖥 显示器
    • 人体工学座椅 + 站立办公支架
  • 浏览器

  • Command Line Tools

Xcode CLT 前端开发有很多工具依赖 Xcode Command Line Tools,可以直接使用下面命令行安装,并且可以不需要安装 Xcode Xcode-select 管理着 xcode的Developer Directory 你能轻松得使用 xcode-select --switch 在多个版本的 Xcode 之间切换对应的开发工具路径


  • Homebrew

macOS 上各种软件的管理,只要有 Homebrew 就足够了。

Homebrew 是一款享有盛名的包管理工具,Homebrew 的意思是家酿啤酒。基本上下面所有的软件都可以通过它在终端通过执行命令来完成安装,例如安装 Google Chrome :

1brew cask install google-chrome

先安装 Homebrew

1/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如何使用 Homebrew:

  • Homebrew 快速入门

  • Terminal

    • Font 字体
    • item2
    • Mac配置终端环境 iTerm2 + Zsh + Oh My Zsh + tmux
    • Zsh and Oh-My-Zsh Zsh 是一个专为交互式使用而设计的命令行 shell,建议搭配 Oh-My-Zsh 一起使用,配置详见 oh-my-mac 极致前端开发环境配置手册

1sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

  • Editor
    • Visual Studio Code
    • Settings.json 是 vsc 的基本配置文件,例如常用的字体、缩减、自动保存等

1{ 2 // font 3 "editor.fontSize": 13, 4 "editor.fontFamily": "Fira Code, JetBrains Mono, SF Mono, Menlo, Monaco, 'Courier New', monospace", 5 "editor.fontLigatures": true, 6 "editor.fontWeight": "400", 7 "prettier.prettierPath": "node_modules/prettier", 8 "typescript.updateImportsOnFileMove.enabled": "always", 9 // Enable per-language 10 "[javascript]": { 11 "editor.formatOnSave": true 12 }, 13 "[typescript]": { 14 "editor.formatOnSave": true 15 }, 16 "javascript.updateImportsOnFileMove.enabled": "always", 17 "liveServer.settings.donotShowInfoMsg": true, 18 "gitlens.gitCommands.skipConfirmations": [ 19 "fetch:command", 20 "switch:command" 21 ], 22 "gitlens.gitCommands.closeOnFocusOut": true, 23 "workbench.sideBar.location": "right", 24 "security.workspace.trust.untrustedFiles": "newWindow", 25 "workbench.tree.indent": 10, 26 "extensions.ignoreRecommendations": true, 27 "explorer.openEditors.visible": 10, 28 "files.exclude": { 29 "node_modules": true 30 }, 31 // telemetry 32 "telemetry.enableTelemetry": false, 33 "telemetry.enableCrashReporter": false, 34 "extensions.autoCheckUpdates": false, // Regular 35} 36

  • Snippet 代码片段

现在大多数代码编辑器都支持了代码片段的功能,借助于 snippet 你可以创建常用的代码模板,减少一些重复性的输入工作,snippet 分两种:全局和当前项目的片段,具体步骤如下:Preference -> User Snippets -> 输入 snippet 名字,例如创建一个简单的 react componnet 代码片段:

1"Snippet Name": { 2 "prefix": "rc", // 触发片段的快捷键 3 "body": [ 4 "import React, { useEffect, FC } from 'react';", 5 "", 6 "const $1: FC = (props) => {", 7 "", 8 " useEffect(() => {", 9 " console.log('$1');", 10 " }, []);", 11 "", 12 " return (", 13 " <div>$1</div>", 14 " )", 15 "}", 16 "", 17 "export default ${1};" 18 ], 19 "description": "Create Basic Component" 20}

Node.js

1brew install node 2brew pin node

  • Npm node包管理

1npm config set registry=http://bnpm.byted.org

  • Node.js 版本管理,通常情况下本地开发会出现需要切换 node 版本,常用的两个工具
    • n - a Node.js version management
    • nvm - Node Version Manager

Git

  1. 下载并配置本地 Git

    1git config --global user.name “First Last” (keep the quotes) 2git config --global user.email “Email” (keep the quotes)

  2. 生成 SSH 密钥

添加 SSH 密钥能让你计算机和 GitLab 之间建立安全连接。需在本地生成 ssh key 并在 GitHub 或 GitLab keys 中添加。注意粘贴的是公共 SSH 密钥,它通常包含在文件` ~/. SSH /id_rsa。',以 'ssh-rsa' 开头,不要使用私有 SSH 密钥 ssh-keygen -t rsa -b 4096 -C “youremail@example.com

dotfiles