《分布式系统:为了乐趣和利益》是一本广受欢迎的资源,用于理解和学习分布式系统。该书由作者Mikito Takada撰写,介绍了构建分布式系统的基本概念、原则和挑战。
这本书涵盖了与分布式系统相关的广泛主题,包括网络、容错性、一致性模型、分布式算法、可扩展性等等。它旨在以清晰易懂的方式解释复杂的概念,适合初学者和有经验的分布式系统从业者阅读。
在整本书中,作者提供了各种实际案例和案例研究,以说明分布式系统的实际应用和实践方面。它还强调了构建分布式系统涉及的权衡和设计考虑,帮助读者全面理解这个主题。
《分布式系统:为了乐趣和利益》作为开源资源,可以免费在线获取,非常适合任何对学习分布式系统感兴趣的人。
原文链接:Distributed systems: for fun and profit
More »
[译]给年轻的工程师们的关于分布式系统的一些笔记
我一直在思考分布式系统工程师在工作中学到的教训。我们大部分的教导都来自于在生产环境中犯过的错误留下的伤痕。这些伤痕固然是有用的提醒,但让更多的工程师能够完整地保留手指会更好。
新的系统工程师在自我学习中会遇到分布式计算的谬论和CAP定理。但这些都是抽象的概念,缺乏针对经验不足的工程师直接可行的建议。让人惊讶的是,新工程师在开始工作时所了解到的背景信息是如此之少。
下面是我作为一名分布式系统工程师学到的一些经验教训,值得告诉新工程师。其中一些经验是微妙的,一些是令人惊讶的,但没有一条是有争议的。这个列表是为了引导新的分布式系统工程师思考他们所从事领域的问题,虽然不是全面的,但是是一个很好的开始。
这个列表最糟糕的特点是它主要关注技术问题,很少讨论工程师可能遇到的社交问题。由于分布式系统需要更多的机器和资本,它们的工程师往往需要与更多的团队和更大的组织合作。社交问题通常是任何软件开发者工作中最困难的部分,也许对于分布式系统的开发来说尤其如此。
我们的背景、教育和经验使我们倾向于采用技术解决方案,即使社交解决方案可能更高效、更令人满意。让我们试着纠正这一点。与计算机相比,人们并不那么挑剔,即使他们的接口没有那么标准化。
好了,我们开始吧。
分布式系统是不同的,因为它们经常失败。 当被问及是什么将分布式系统与软件工程的其他领域区分开来时,这位新工程师经常引用延迟,认为这是使分布式计算变得困难的原因。
More »[译]《分布式系统:为了乐趣和利益》介绍
《分布式系统:为了乐趣和利益》是一本广受欢迎的资源,用于理解和学习分布式系统。该书由作者Mikito Takada撰写,介绍了构建分布式系统的基本概念、原则和挑战。
这本书涵盖了与分布式系统相关的广泛主题,包括网络、容错性、一致性模型、分布式算法、可扩展性等等。它旨在以清晰易懂的方式解释复杂的概念,适合初学者和有经验的分布式系统从业者阅读。
在整本书中,作者提供了各种实际案例和案例研究,以说明分布式系统的实际应用和实践方面。它还强调了构建分布式系统涉及的权衡和设计考虑,帮助读者全面理解这个主题。
《分布式系统:为了乐趣和利益》作为开源资源,可以免费在线获取,非常适合任何对学习分布式系统感兴趣的人。
原文链接:Distributed systems: for fun and profit
More »

JHipster安装和介绍
JHipster 是一个开发平台,可以快速生成,开发和部署现代 Web 应用程序+微服务架构。
JHipster 或者称 Java Hipster,是一个应用代码产生器,能够创建 Spring Boot/Spring Cloud + React/VueJs/AngularJS 的应用。使用 JHipster,首先你要配置好 Java 、Git 以及 Maven 或者 Gradle 的环境,然后通过 NodeJs 管理工具安装 JHipster 。
More »[译]Spring Boot3和Spring6中的新特性
Spring Boot 3.0 于 2022 年 11 月正式发布,包含一些新功能和改进。这是继大约 4.5 年前发布 Spring Boot 2.0 后 Spring Boot 的第一个主要版本。它也是第一个支持 Spring Framework 6.0 的 Spring Boot GA 版本。作为开发人员,我们需要了解这些更新,才能顺利使用 Spring Boot。毫无疑问,新版本中最大的转变之一是放弃了对旧版本 Java 的支持。
More »[译]DevOps 和测试人员的 Git 面试问题
欢迎来到 Git 面试准备指南,我们将在这里向初学者和经验丰富的专业人士讨论最常见的 Git 面试问题。无论您是准备参加 DevOps 或测试面试,还是希望提高 Git 技能,此资源都可以通过深入研究一些与 Git 基本概念和实践相关的最常见面试问题来帮助您。
More »[译]Spring Security 面试问题
本面试准备指南将讨论一些常见的 Spring Security 面试问题。无论您是准备面试还是只是想增强对 Spring Security 的了解,这些问题都将帮助您理解关键概念并指导您设计常见安全问题的解决方案。
1. Spring Security 的核心特性是什么?
Spring Security 提供的两个最突出的功能是身份验证和授权。这些功能在确保应用程序的安全性方面发挥着至关重要的作用。然而,Spring Security 超越了身份验证和授权,还提供了额外的功能来防止漏洞利用并与其他框架集成。
More »[译]关于 HTTP 您需要了解的一切
HTTP 是每个 Web 开发人员都应该了解的协议,因为它为整个 Web 提供动力。了解 HTTP 当然可以帮助您开发更好的应用程序。
More »前端学习路线图
前端学习路线图:
- Internet:
- HTTP
- DNS
- HTML
- Basic
- Semantic HTML
- Forms and Validations
- Accessibility
- SEO
- CSS
- Basic
- Layout
- Responsive Design
- JavaScript
- Baisc
- DOM
- Fetch API / Ajax
- Package Manager
- npm
- pnpm
- yarn
- Framework
- Angular
- Vue.js
- React
- Svelte
- Solid JS
- Qwik
- Writing CSS
- Tailwind
- Radix UI
- Shadcn UI
- CSS Architecture
- BEM
- CSS Preprocessors
- SASS
- PostCSS
- Build
- Module Bundlers
- parcel
- Rollup
- Webpack
- esbuild
- Vite
- Task Runners
- npm scripts
- Linters and Formatters
- Prettier
- ESLint
- Module Bundlers
- Test
- Vitest
- Jest
- Playwirte
- Cypress
- Authentication Strategies
- JWT
- OAuth
- SSO
- Basic Auth
- Session Auth
- Web Security Basics
- CORS
- HTTPS
- CSP
- OWASP Security Risks
- Web Components
- HTML Templates
- Custom Elements
- Shadow DOM
- Type Checkers
- TypeScript
- Server Side Rendering(SSR)
- Svelte
- Svelte Kit
- Vue.js
- Nuxt.js
- Angular
- Universal
- React
- Next.js
- Remix
- Svelte
- GraphQL
- Apollo
- Relay Modern
- Static Site Generators
- Vuepress
- Jekyll
- Hugo
- Nuxt.js
- Astro
- Eleventy
- Next.js
- Remix
- Progressive Web App
- Mobel Applications
- React Native
- Flutter
- Ionic
- NativeScript
- Desktop Applications
- Bonus Content
React入门:初始化应用的两种方法
在 React 中,您可以使用多种方法来初始化一个应用程序。以下是几种常见的方法:
- 使用 Create React App(CRA)。Create React App 是一个官方提供的脚手架工具,用于快速创建 React 应用程序的基本结构和配置。
- 使用 Vite。Vite 是一个快速、简单且现代化的前端构建工具。
create-react-app
create-react-app
是一个用于快速创建 React 应用程序的命令行工具。它提供了一个简单的方式来设置和配置一个全新的 React 项目,包括构建、开发服务器和其他常见的配置。