mirror of
https://github.com/dwmkerr/hacker-laws.git
synced 2025-12-17 12:45:20 +01:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f4ff0d3b2 | ||
|
|
dd8159558f | ||
|
|
1342657c53 | ||
|
|
38ef3a38d8 | ||
|
|
824a62a825 | ||
|
|
389c3e64ff | ||
|
|
ab076b3c63 | ||
|
|
0b3e024c7c | ||
|
|
a6cd00d624 | ||
|
|
93c98f5959 | ||
|
|
6ea10057de | ||
|
|
4d57423690 | ||
|
|
454656237d | ||
|
|
998302b4cb | ||
|
|
be78a7bf41 | ||
|
|
a80670cb8b | ||
|
|
6353fe4b8f | ||
|
|
1225053274 | ||
|
|
f65bb28e58 | ||
|
|
dcdcfdfc25 | ||
|
|
7cd48102cb | ||
|
|
46148724e2 | ||
|
|
2140429b95 |
26
.all-contributorsrc
Normal file
26
.all-contributorsrc
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"README.md"
|
||||||
|
],
|
||||||
|
"imageSize": 100,
|
||||||
|
"commit": false,
|
||||||
|
"commitType": "docs",
|
||||||
|
"commitConvention": "angular",
|
||||||
|
"contributors": [
|
||||||
|
{
|
||||||
|
"login": "hemmatt",
|
||||||
|
"name": "Amir Hemmati",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/22114089?v=4",
|
||||||
|
"profile": "https://github.com/hemmatt",
|
||||||
|
"contributions": [
|
||||||
|
"doc"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"contributorsPerLine": 7,
|
||||||
|
"skipCi": true,
|
||||||
|
"repoType": "github",
|
||||||
|
"repoHost": "https://github.com",
|
||||||
|
"projectName": "hacker-laws",
|
||||||
|
"projectOwner": "dwmkerr"
|
||||||
|
}
|
||||||
28
.github/CHANGELOG.md
vendored
28
.github/CHANGELOG.md
vendored
@@ -1,5 +1,33 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.3.2](https://github.com/dwmkerr/hacker-laws/compare/v0.3.1...v0.3.2) (2025-03-31)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* update ebook download link ([4546562](https://github.com/dwmkerr/hacker-laws/commit/454656237d9508c8fadafffbc1c1286fc134f8cf))
|
||||||
|
|
||||||
|
## [0.3.1](https://github.com/dwmkerr/hacker-laws/compare/v0.3.0...v0.3.1) (2025-03-31)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* effective shell links ([6353fe4](https://github.com/dwmkerr/hacker-laws/commit/6353fe4b8f044456d66dac0af950e41989c56c5a))
|
||||||
|
|
||||||
|
## [0.3.0](https://github.com/dwmkerr/hacker-laws/compare/v0.2.1...v0.3.0) (2025-03-31)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add Koomey's Law ([dcdcfdf](https://github.com/dwmkerr/hacker-laws/commit/dcdcfdfc25ee121b6bcb931a71e185fa7ffeedcd))
|
||||||
|
|
||||||
|
## [0.2.1](https://github.com/dwmkerr/hacker-laws/compare/v0.2.0...v0.2.1) (2025-03-31)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* remove frontmatter ([2140429](https://github.com/dwmkerr/hacker-laws/commit/2140429b959a8284b452c3fa05e1c9fd03e5ebab))
|
||||||
|
|
||||||
## [0.2.0](https://github.com/dwmkerr/hacker-laws/compare/v0.1.0...v0.2.0) (2025-03-31)
|
## [0.2.0](https://github.com/dwmkerr/hacker-laws/compare/v0.1.0...v0.2.0) (2025-03-31)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
0
makefile → .github/makefile
vendored
0
makefile → .github/makefile
vendored
2
.github/release-please-manifest.json
vendored
2
.github/release-please-manifest.json
vendored
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
".": "0.2.0"
|
".": "0.3.2"
|
||||||
}
|
}
|
||||||
|
|||||||
34
.github/workflows/cicd.yaml
vendored
34
.github/workflows/cicd.yaml
vendored
@@ -6,9 +6,12 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Permissions to check contents and open PR (release pleases) and update pages.
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-website-build:
|
test-website-build:
|
||||||
@@ -58,13 +61,13 @@ jobs:
|
|||||||
# Set the env vars we use (version set for clarity).
|
# Set the env vars we use (version set for clarity).
|
||||||
export DATE=$(date +%F)
|
export DATE=$(date +%F)
|
||||||
export VERSION="${VERSION}"
|
export VERSION="${VERSION}"
|
||||||
make prepare-markdown
|
make -f .github/makefile prepare-markdown
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ needs.release.outputs.tag }}
|
VERSION: ${{ needs.release.outputs.tag }}
|
||||||
|
|
||||||
# Create the PDF files.
|
# Create the PDF files.
|
||||||
- name: Create PDF
|
- name: Create PDF
|
||||||
run: make create-pdf
|
run: make -f .github/makefile create-pdf
|
||||||
|
|
||||||
# Publish the PDF and intermediate markdown as an artifact.
|
# Publish the PDF and intermediate markdown as an artifact.
|
||||||
# - name: Publish PDF Artifact
|
# - name: Publish PDF Artifact
|
||||||
@@ -78,3 +81,30 @@ jobs:
|
|||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
gh release upload "${{ needs.release.outputs.tag }}" --clobber hacker-laws.pdf hacker-laws.md
|
gh release upload "${{ needs.release.outputs.tag }}" --clobber hacker-laws.pdf hacker-laws.md
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
needs: release
|
||||||
|
if: ${{ needs.release.outputs.released }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Setup Pages
|
||||||
|
uses: actions/configure-pages@v5
|
||||||
|
- name: Build Website
|
||||||
|
run: |
|
||||||
|
cd .github/website
|
||||||
|
make install
|
||||||
|
make build
|
||||||
|
cp -r build/. '../pages'
|
||||||
|
ls -al "../pages"
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-pages-artifact@v3
|
||||||
|
with:
|
||||||
|
path: './.github/pages'
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: actions/deploy-pages@v4
|
||||||
|
|||||||
46
.github/workflows/pages.yaml
vendored
46
.github/workflows/pages.yaml
vendored
@@ -1,46 +0,0 @@
|
|||||||
name: Deploy to Pages
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Runs on pushes targeting the default branch (or runs manually).
|
|
||||||
push:
|
|
||||||
branches: [$default-branch]
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
pages: write
|
|
||||||
id-token: write
|
|
||||||
|
|
||||||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
|
||||||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
|
||||||
concurrency:
|
|
||||||
group: "pages"
|
|
||||||
cancel-in-progress: false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# Single deploy job since we're just deploying
|
|
||||||
deploy:
|
|
||||||
environment:
|
|
||||||
name: github-pages
|
|
||||||
url: ${{ steps.deployment.outputs.page_url }}
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Setup Pages
|
|
||||||
uses: actions/configure-pages@v5
|
|
||||||
- name: Build Website
|
|
||||||
run: |
|
|
||||||
cd .github/website
|
|
||||||
make install
|
|
||||||
make build
|
|
||||||
cp -r build/. '../pages'
|
|
||||||
ls -al "../pages"
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-pages-artifact@v3
|
|
||||||
with:
|
|
||||||
path: './.github/pages'
|
|
||||||
- name: Deploy to GitHub Pages
|
|
||||||
id: deployment
|
|
||||||
uses: actions/deploy-pages@v4
|
|
||||||
69
.github/workflows/release-on-tag.yaml
vendored
69
.github/workflows/release-on-tag.yaml
vendored
@@ -1,69 +0,0 @@
|
|||||||
# This pipeline builds the PDF ebook on any tag starting with 'v'.
|
|
||||||
name: "Create Release"
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- 'v*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
prepare-pdf:
|
|
||||||
# Focal Fossa. Please don't use 'latest' tags, it's an anti-pattern.
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
# Checkout the code.
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
# Set a descriptive version. For PRs it'll be the short sha.
|
|
||||||
- name: Set Version
|
|
||||||
id: set_version
|
|
||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
||||||
|
|
||||||
# Prepare the content files.
|
|
||||||
- name: Prepare Content
|
|
||||||
run: ./scripts/prepare-markdown-for-ebook.sh ${{ steps.set_version.outputs.VERSION }}
|
|
||||||
|
|
||||||
# Create a PDF from the prepared markdown.
|
|
||||||
- name: Prepare PDF
|
|
||||||
uses: docker://pandoc/latex:2.9
|
|
||||||
with:
|
|
||||||
args: "-V toc-title:\"Table Of Contents\" --toc --pdf-engine=pdflatex --standalone --output hacker-laws.pdf hacker-laws.md"
|
|
||||||
|
|
||||||
# Publish the PDF artifact.
|
|
||||||
- name: Publish PDF Artifacts
|
|
||||||
uses: actions/upload-artifact@master
|
|
||||||
with:
|
|
||||||
name: hacker-laws.pdf
|
|
||||||
path: hacker-laws.pdf
|
|
||||||
|
|
||||||
release:
|
|
||||||
needs: prepare-pdf
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- name: Download artifact
|
|
||||||
uses: actions/download-artifact@v2
|
|
||||||
with:
|
|
||||||
name: hacker-laws.pdf
|
|
||||||
|
|
||||||
- name: Create Release
|
|
||||||
id: create-release
|
|
||||||
uses: actions/create-release@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: ${{ github.ref }}
|
|
||||||
release_name: ${{ github.ref }}
|
|
||||||
body: |
|
|
||||||
Hacker Laws E-Book
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
|
|
||||||
- name: Upload Release Asset
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create-release.outputs.upload_url }}
|
|
||||||
asset_path: ./hacker-laws.pdf
|
|
||||||
asset_name: hacker-laws.pdf
|
|
||||||
asset_content_type: application/pdf
|
|
||||||
61
README.md
61
README.md
@@ -1,22 +1,18 @@
|
|||||||
---
|
|
||||||
title: "Hacker Laws"
|
|
||||||
author: "Dave Kerr, github.com/dwmkerr/hacker-laws"
|
|
||||||
subtitle: "Laws, Theories, Principles, and Patterns that developers will find useful. ${VERSION}, ${DATE}."
|
|
||||||
version: ${VERSION}
|
|
||||||
---
|
|
||||||
|
|
||||||
<h1 align="center"><a href="https://hacker-laws.com" target="_blank">hacker-laws</a></h1>
|
<h1 align="center"><a href="https://hacker-laws.com" target="_blank">hacker-laws</a></h1>
|
||||||
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||||
|
[](#contributors-)
|
||||||
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||||
<h4 align="center">🧠 Laws, Theories, Principles and Patterns for developers and technologists.</h4>
|
<h4 align="center">🧠 Laws, Theories, Principles and Patterns for developers and technologists.</h4>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
- 📖 My new book [Effective Shell](https://effective-shell) on [Amazon](https://amzn.to/4ho0F91)
|
- 📖 My new book [Effective Shell (Online Version)](https://effective-shell.com) on [Amazon (Print/Kindle)](https://amzn.to/4ho0F91)
|
||||||
- 🌍 Try [hacker-laws.com](https://hacker-laws.com)
|
- 🌍 Try [hacker-laws.com](https://hacker-laws.com)
|
||||||
- 🧠 Check out my new project [Terminal AI](https://github.com/dwmkerr/terminal-ai)
|
- 🧠 Check out my new project [Terminal AI](https://github.com/dwmkerr/terminal-ai)
|
||||||
- ☕️ Like this project? Consider [buying me a coffee with a one-off donation](https://github.com/sponsors/dwmkerr?frequency=one-time)
|
- ☕️ Like this project? Consider [buying me a coffee with a one-off donation](https://github.com/sponsors/dwmkerr?frequency=one-time)
|
||||||
- 🎧 Listen to the podcast [The Changelog - Laws for Hackers to Live By](https://changelog.com/podcast/403)
|
- 🎧 Listen to the podcast [The Changelog - Laws for Hackers to Live By](https://changelog.com/podcast/403)
|
||||||
- 📖 Download the [PDF eBook](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pd)
|
- 📖 Download the [PDF eBook](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pdf)
|
||||||
- 🌏 See the [Translations](#translations)
|
- 🌏 See the Translations: [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -46,6 +42,7 @@ version: ${VERSION}
|
|||||||
- [Hyrum's Law (The Law of Implicit Interfaces)](#hyrums-law-the-law-of-implicit-interfaces)
|
- [Hyrum's Law (The Law of Implicit Interfaces)](#hyrums-law-the-law-of-implicit-interfaces)
|
||||||
- [Input-Process-Output (IPO)](#input-process-output-ipo)
|
- [Input-Process-Output (IPO)](#input-process-output-ipo)
|
||||||
- [Kernighan's Law](#kernighans-law)
|
- [Kernighan's Law](#kernighans-law)
|
||||||
|
- [Koomey's Law](#koomeys-law)
|
||||||
- [Linus's Law](#linuss-law)
|
- [Linus's Law](#linuss-law)
|
||||||
- [Metcalfe's Law](#metcalfes-law)
|
- [Metcalfe's Law](#metcalfes-law)
|
||||||
- [Moore's Law](#moores-law)
|
- [Moore's Law](#moores-law)
|
||||||
@@ -222,6 +219,7 @@ See also:
|
|||||||
Arthur C. Clarke, an british science fiction writer, formulated three adages that are known as Clarke's three laws. The third law is the best known and most widely cited.
|
Arthur C. Clarke, an british science fiction writer, formulated three adages that are known as Clarke's three laws. The third law is the best known and most widely cited.
|
||||||
|
|
||||||
These so-called laws are:
|
These so-called laws are:
|
||||||
|
|
||||||
- When a distinguished but elderly scientist states that something is possible, they are almost certainly right. When they state that something is impossible, they are very probably wrong.
|
- When a distinguished but elderly scientist states that something is possible, they are almost certainly right. When they state that something is impossible, they are very probably wrong.
|
||||||
- The only way of discovering the limits of the possible is to venture a little way past them into the impossible.
|
- The only way of discovering the limits of the possible is to venture a little way past them into the impossible.
|
||||||
- Any sufficiently advanced technology is indistinguishable from magic.
|
- Any sufficiently advanced technology is indistinguishable from magic.
|
||||||
@@ -464,6 +462,23 @@ See also:
|
|||||||
- [The Unix Philosophy](#the-unix-philosophy)
|
- [The Unix Philosophy](#the-unix-philosophy)
|
||||||
- [Occam's Razor](#occams-razor)
|
- [Occam's Razor](#occams-razor)
|
||||||
|
|
||||||
|
### Koomey's Law
|
||||||
|
|
||||||
|
[Koomey's Law on Wikipedia](https://en.wikipedia.org/wiki/Koomey%27s_law)
|
||||||
|
|
||||||
|
> ...at a fixed computing load, the amount of battery you need will fall by a factor of two every year and a half.
|
||||||
|
>
|
||||||
|
> (Jonathan Koomey)
|
||||||
|
|
||||||
|
In 2010 Professor Jonathan Koomey discovered that the trend in number of computations per joule of energy dissipated had been remarkably stable. This trend became known as Koomey's Law - that the amount of battery needed for a given computing load would half each 2.5 years.
|
||||||
|
|
||||||
|
Koomey performed a follow-up analysis in 2010 and found that this trend had slowed, similar to how [Moore's Law](#moores-law) had slowed. This seemed to be related to limitations around how small transistors can be made, as well as [Dennard Scaling](https://en.wikipedia.org/wiki/Dennard_scaling).
|
||||||
|
|
||||||
|
See also:
|
||||||
|
|
||||||
|
- [Moore's Law](#moores-law)
|
||||||
|
- [Dennard Scaling](https://en.wikipedia.org/wiki/Dennard_scaling)
|
||||||
|
|
||||||
### Linus's Law
|
### Linus's Law
|
||||||
|
|
||||||
[Linus's Law on Wikipedia](https://en.wikipedia.org/wiki/Linus%27s_law)
|
[Linus's Law on Wikipedia](https://en.wikipedia.org/wiki/Linus%27s_law)
|
||||||
@@ -502,6 +517,10 @@ See also:
|
|||||||
|
|
||||||
Often used to illustrate the sheer speed at which semiconductor and chip technology has improved, Moore's prediction has proven to be highly accurate over from the 1970s to the late 2000s. In more recent years, the trend has changed slightly, partly due to [physical limitations on the degree to which components can be miniaturised](https://en.wikipedia.org/wiki/Quantum_tunnelling). However, advancements in parallelisation, and potentially revolutionary changes in semiconductor technology and quantum computing may mean that Moore's Law could continue to hold true for decades to come.
|
Often used to illustrate the sheer speed at which semiconductor and chip technology has improved, Moore's prediction has proven to be highly accurate over from the 1970s to the late 2000s. In more recent years, the trend has changed slightly, partly due to [physical limitations on the degree to which components can be miniaturised](https://en.wikipedia.org/wiki/Quantum_tunnelling). However, advancements in parallelisation, and potentially revolutionary changes in semiconductor technology and quantum computing may mean that Moore's Law could continue to hold true for decades to come.
|
||||||
|
|
||||||
|
See also:
|
||||||
|
|
||||||
|
- [Koomey's Law](#koomeys-law)
|
||||||
|
|
||||||
### Murphy's Law / Sod's Law
|
### Murphy's Law / Sod's Law
|
||||||
|
|
||||||
[Murphy's Law on Wikipedia](https://en.wikipedia.org/wiki/Murphy%27s_law)
|
[Murphy's Law on Wikipedia](https://en.wikipedia.org/wiki/Murphy%27s_law)
|
||||||
@@ -1144,3 +1163,25 @@ Hacker Laws has been featured in [The Changelog](https://changelog.com/podcast/4
|
|||||||
|
|
||||||
<a href="https://changelog.com/podcast/403" target="_blank"><img src="./images/changelog-podcast.png" width="800px" alt="Changelog Podcast Image" /></a>
|
<a href="https://changelog.com/podcast/403" target="_blank"><img src="./images/changelog-podcast.png" width="800px" alt="Changelog Podcast Image" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
## Contributors ✨
|
||||||
|
|
||||||
|
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
||||||
|
|
||||||
|
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
<!-- markdownlint-disable -->
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hemmatt"><img src="https://avatars.githubusercontent.com/u/22114089?v=4?s=100" width="100px;" alt="Amir Hemmati"/><br /><sub><b>Amir Hemmati</b></sub></a><br /><a href="https://github.com/dwmkerr/hacker-laws/commits?author=hemmatt" title="Documentation">📖</a></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<!-- markdownlint-restore -->
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||||
|
|
||||||
|
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
||||||
@@ -17,9 +17,20 @@ fi
|
|||||||
export date="${DATE:-$(date +%F)}"
|
export date="${DATE:-$(date +%F)}"
|
||||||
export version="${VERSION?error: VERSION must be set}"
|
export version="${VERSION?error: VERSION must be set}"
|
||||||
|
|
||||||
|
|
||||||
# Update the input file to an intermedate.
|
# Update the input file to an intermedate.
|
||||||
intermediate="${input}.temp"
|
intermediate="${input}.temp"
|
||||||
DATE="${date}" VERSION="${version}" envsubst < "${input}" > "${intermediate}"
|
cat <<EOF > "${intermediate}"
|
||||||
|
---
|
||||||
|
title: "Hacker Laws"
|
||||||
|
author: "Dave Kerr, github.com/dwmkerr/hacker-laws"
|
||||||
|
subtitle: "Laws, Theories, Principles, and Patterns that developers will find useful. ${VERSION}, ${DATE}."
|
||||||
|
version: ${VERSION}
|
||||||
|
---
|
||||||
|
|
||||||
|
EOF
|
||||||
|
cat "${input}" >> "${intermediate}"
|
||||||
|
DATE="${date}" VERSION="${version}" envsubst < "${intermediate}" > "${output}"
|
||||||
|
|
||||||
# Use a single `sed` command to clean up unwanted lines and emojis in one pass.
|
# Use a single `sed` command to clean up unwanted lines and emojis in one pass.
|
||||||
sed -e '/💻📖.*/d' \
|
sed -e '/💻📖.*/d' \
|
||||||
@@ -27,7 +38,7 @@ sed -e '/💻📖.*/d' \
|
|||||||
-e '/^\[Translations.*/d' \
|
-e '/^\[Translations.*/d' \
|
||||||
-e '/\*.*/d' \
|
-e '/\*.*/d' \
|
||||||
-e '/ \*.*/d' \
|
-e '/ \*.*/d' \
|
||||||
-e '/## Translations/,$d' "${intermediate}" > "${output}"
|
-e '/## Translations/,$d' "${output}" > "${intermediate}"
|
||||||
rm "${intermediate}"
|
mv "${intermediate}" "${output}"
|
||||||
|
|
||||||
echo "${output} prepared successfully."
|
echo "${output} prepared successfully."
|
||||||
|
|||||||
@@ -2,13 +2,7 @@
|
|||||||
|
|
||||||
Leyes, Teorías, Principios y Patrones que los desarrolladores encontrarán útiles.
|
Leyes, Teorías, Principios y Patrones que los desarrolladores encontrarán útiles.
|
||||||
|
|
||||||
- 🇨🇳 [中文 / Versión China](https://github.com/nusr/hacker-laws-zh) - thanks [Steve Xu](https://github.com/nusr)!
|
[traducciones](#translations): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
- 🇮🇹 [Traduzione in Italiano](https://github.com/csparpa/hacker-laws-it) - grazie [Claudio Sparpaglione](https://github.com/csparpa)!
|
|
||||||
- 🇰🇷 [한국어 / Versión Koreana](https://github.com/codeanddonuts/hacker-laws-kr) - thanks [Doughnut](https://github.com/codeanddonuts)!
|
|
||||||
- 🇷🇺 [Русская версия / Versión Rusa](https://github.com/solarrust/hacker-laws) - thanks [Alena Batitskaya](https://github.com/solarrust)!
|
|
||||||
- 🇹🇷 [Türkçe / Versión Turca](https://github.com/umutphp/hacker-laws-tr) - thanks [Umut Işık](https://github.com/umutphp)
|
|
||||||
- 🇧🇷 [Brasileiro / Versión Brasileña](./translations/pt-BR.md) - thanks [Leonardo Costa](https://github.com/LeoFC97)
|
|
||||||
- 🇺🇸 [Original English Version - Versión Original en Inglés](https://github.com/dwmkerr/hacker-laws) - grazie [Dave Kerr](https://github.com/dwmkerr)!
|
|
||||||
|
|
||||||
¿Te gusta este proyecto? Por favor, considera [Esponsorizarme](https://github.com/sponsors/dwmkerr)!
|
¿Te gusta este proyecto? Por favor, considera [Esponsorizarme](https://github.com/sponsors/dwmkerr)!
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Lois, théories, principes et modèles que les développeurs trouveront utiles.
|
Lois, théories, principes et modèles que les développeurs trouveront utiles.
|
||||||
|
|
||||||
[Traductions](#translations): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇩🇪](./translations/de.md) [🇫🇷](./translationis/fr.md) [🇬🇷](./translations/el.md) [🇮🇹](https://github.com/csparpa/hacker-laws-it) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](https://github.com/umutphp/hacker-laws-tr)
|
[Traductions](#translations): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
|
|
||||||
Vous aimez ce projet ? N'hésitez pas à [me sponsoriser](https://github.com/sponsors/dwmkerr) ainsi que [les traducteurs](#traductions).
|
Vous aimez ce projet ? N'hésitez pas à [me sponsoriser](https://github.com/sponsors/dwmkerr) ainsi que [les traducteurs](#traductions).
|
||||||
|
|
||||||
|
|||||||
@@ -4,13 +4,7 @@
|
|||||||
|
|
||||||
Hukum, Teori, Prinsip dan Pola yang berguna bagi pengembang (developer).
|
Hukum, Teori, Prinsip dan Pola yang berguna bagi pengembang (developer).
|
||||||
|
|
||||||
- 🇨🇳 [中文 / Chinese Version](https://github.com/nusr/hacker-laws-zh) - Terima kasih kepada [Steve Xu](https://github.com/nusr)!
|
[terjemahan](#translations): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
- 🇮🇹 [Traduzione in Italiano](https://github.com/dwmkerr/hacker-laws/blob/master/translations/it-IT.md) - Terima kasih kepada [Claudio Sparpaglione](https://github.com/csparpa)!
|
|
||||||
- 🇰🇷 [한국어 / Korean Version](https://github.com/codeanddonuts/hacker-laws-kr) - Terima kasih kepada [Doughnut](https://github.com/codeanddonuts)!
|
|
||||||
- 🇷🇺 [Русская версия / Russian Version](https://github.com/solarrust/hacker-laws) - Terima kasih kepada [Alena Batitskaya](https://github.com/solarrust)!
|
|
||||||
- 🇹🇷 [Türkçe / Turkish Version](https://github.com/umutphp/hacker-laws-tr) - Terima kasih kepada [Umut Işık](https://github.com/umutphp)
|
|
||||||
- 🇧🇷 [Brasileiro / Brazilian Version](./translations/pt-BR.md) - Terima kasih kepada [Leonardo Costa](https://github.com/LeoFC97)
|
|
||||||
- 🇪🇸 [Castellano / Spanish Version](./translations/es-ES.md) - Terima kasih kepada [Manuel Rubio](https://github.com/manuel-rubio)
|
|
||||||
|
|
||||||
Suka dengan project ini? Silahkan Mempertimbangkan untuk [Mensponsori saya](https://github.com/sponsors/dwmkerr)!
|
Suka dengan project ini? Silahkan Mempertimbangkan untuk [Mensponsori saya](https://github.com/sponsors/dwmkerr)!
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,7 @@
|
|||||||
|
|
||||||
Leggi, teorie, principi e pattern utili agli sviluppatori.
|
Leggi, teorie, principi e pattern utili agli sviluppatori.
|
||||||
|
|
||||||
- 🇨🇳 [中文 / Traduzione in Cinese](https://github.com/nusr/hacker-laws-zh) - grazie [Steve Xu](https://github.com/nusr)!
|
[traduzioni](#translations): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
- 🇮🇹 [Traduzione in Italiano](https://github.com/csparpa/hacker-laws-it) - grazie [Claudio Sparpaglione](https://github.com/csparpa)!
|
|
||||||
- 🇰🇷 [한국어 / Traduzione in Coreano](https://github.com/codeanddonuts/hacker-laws-kr) - grazie [Doughnut](https://github.com/codeanddonuts)!
|
|
||||||
- 🇷🇺 [Русская версия / Traduzione in Russo](https://github.com/solarrust/hacker-laws) - grazie [Alena Batitskaya](https://github.com/solarrust)!
|
|
||||||
- 🇹🇷 [Türkçe / Traduzione in Turco](https://github.com/umutphp/hacker-laws-tr) - grazie [Umut Işık](https://github.com/umutphp)!
|
|
||||||
- 🇺🇸 [Original English Version - Versione Originale in Inglese](https://github.com/dwmkerr/hacker-laws) - grazie [Dave Kerr](https://github.com/dwmkerr)!
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
開発者が役に立つと思う法則、理論、原則、パターン。
|
開発者が役に立つと思う法則、理論、原則、パターン。
|
||||||
|
|
||||||
[翻訳](#翻訳): [🇧🇷](../translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇩🇪](../translations/de.md) [🇫🇷](../translations/fr.md) [🇬🇷](../translations/el.md) [🇮🇹](https://github.com/csparpa/hacker-laws-it) [🇱🇻](../translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](../translations/es-ES.md) [🇹🇷](https://github.com/umutphp/hacker-laws-tr) [JP](../translations/jp.md)
|
[翻訳](#翻訳): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
|
|
||||||
このプロジェクトが気に入りましたか?ぜひ私と[翻訳者](#%E7%BF%BB%E8%A8%B3)を支援すること[ご検討ください。](https://github.com/sponsors/dwmkerr)
|
このプロジェクトが気に入りましたか?ぜひ私と[翻訳者](#%E7%BF%BB%E8%A8%B3)を支援すること[ご検討ください。](https://github.com/sponsors/dwmkerr)
|
||||||
|
|
||||||
@@ -275,10 +275,10 @@
|
|||||||
|
|
||||||
[ハイラムの法則(英語)](http://www.hyrumslaw.com/)
|
[ハイラムの法則(英語)](http://www.hyrumslaw.com/)
|
||||||
|
|
||||||
> あるAPIに十分なユーザー数がいれば、契約書で何を約束するかどうかは問題ではありません。 あなたのシステムのすべての観測可能な動作は、誰かに依存することになります。
|
> あるAPIに十分なユーザー数がいれば、契約で何を約束するかどうかは問題ではありません。 あなたのシステムのすべての観測可能な動作は、誰かに依存されることになります。
|
||||||
> (ハイラム・ライト)
|
> (ハイラム・ライト)
|
||||||
|
|
||||||
ハイラムの法則では、APIの*ユーザ数が十分に多い*場合、APIのすべての動作(公的契約の一部として定義されていないものであっても)は、最終的に誰かに依存するようになるということを述べています。些細な例としては、APIの応答時間などの非機能要件が挙げられます。もっと微妙な例は、APIのエラーの*タイプ*を判断するために、エラーメッセージに正規表現を適用することに依存しているユーザかもしれません。API の公開契約ではメッセージの内容について何も記述されておらず、ユーザーがメッセージではなくエラーコードを使用すべきでと明示していたとしても、*一部の*ユーザーがそれを無視してメッセージを使用する可能性があり、メッセージを変更することでそのようなユーザーのための API が本質的に壊れてしまうことになります。
|
ハイラムの法則では、APIの*ユーザ数が十分に多い*場合、APIのすべての動作(公的契約の一部として定義されていないものであっても)は、最終的に誰かに依存されるようになるということを述べています。些細な例としては、APIの応答時間などの非機能要件が挙げられます。もっと微妙な例は、APIのエラーの*タイプ*を判断するために、エラーメッセージに正規表現を適用することに依存しているユーザかもしれません。API の公開契約ではメッセージの内容について何も記述されておらず、ユーザーがメッセージではなくエラーコードを使用すべきでと明示していたとしても、*一部の*ユーザーがそれを無視してメッセージを使用する可能性があり、メッセージを変更することでそのようなユーザーのための API が本質的に壊れてしまうことになります。
|
||||||
|
|
||||||
関連項目:
|
関連項目:
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,10 @@
|
|||||||
# 💻 📖 hacker-laws
|
# 💻📖 hacker-laws
|
||||||
|
|
||||||
[](https://gitlocalize.com/repo/2513/whole_project?utm_source=badge)
|
[](https://gitlocalize.com/repo/2513/whole_project?utm_source=badge)
|
||||||
|
|
||||||
Likumi, teorijas, principi un apraksti, kas izstrādātājiem šķitīs noderīgi.
|
Likumi, teorijas, principi un apraksti, kas izstrādātājiem šķitīs noderīgi.
|
||||||
|
|
||||||
- 🇨🇳 [中文/Chinese Version](https://github.com/nusr/hacker-laws-zh) - paldies [Steve Xu](https://github.com/nusr)!
|
[tulkojumi](#translations): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
- 🇮🇹 [traduzione Italiano](https://github.com/dwmkerr/hacker-laws/blob/master/translations/it-IT.md) - paldies [Claudio Sparpaglione](https://github.com/csparpa)!
|
|
||||||
- 🇰🇷 [한국어/korejiešu versija](https://github.com/codeanddonuts/hacker-law-kr) - paldies [Doughnut](https://github.com/codeanddonuts)!
|
|
||||||
- 🇷🇺 [Русская версия/Krievijas versija](https://github.com/solarrust/hacker-laws) - paldies [Alena Batitskaya](https://github.com/solarrust)!
|
|
||||||
- 🇹🇷 [türkçe/Turkish Version](https://github.com/umutphp/hacker-laws-tr) - paldies [Umut Işık](https://github.com/umutphp)
|
|
||||||
- 🇧🇷 [Brasileiro/Brazīlijas versija](./translations/pt-BR.md) - paldies [Leonardo Costa](https://github.com/LeoFC97)
|
|
||||||
- 🇪🇸 [Castellano/Spānijas versija](./translations/es-ES.md) - paldies [Manuel Rubio](https://github.com/manuel-rubio)
|
|
||||||
- 🇱🇻 [Latvian/Latvijas versija](./translations/lv.md) - paldies [Artūrs Jansons](https://github.com/iegik)
|
|
||||||
- 🇺🇸 [Original English Version - Oriģinālā angļu versija](https://github.com/dwmkerr/hacker-laws) - paldies [Dave Kerr](https://github.com/dwmkerr)!
|
|
||||||
|
|
||||||
Kā šis projekts? Lūdzu, apsveriet iespēju [Sponsoring Me](https://github.com/sponsors/dwmkerr)!
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Prawa, teorie, zasady i wzorce, które programiści uznają za przydatne.
|
Prawa, teorie, zasady i wzorce, które programiści uznają za przydatne.
|
||||||
|
|
||||||
[Tłumaczenia](#translations): [🇮🇩](./translations/id.md) [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇩🇪](./translations/de.md) [🇫🇷](./translations/fr.md) [🇬🇷](./translations/el.md) [🇮🇹](https://github.com/csparpa/hacker-laws-it) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇵🇱](./translations/pl.md) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](https://github.com/umutphp/hacker-laws-tr) [🇯🇵](./translations/jp.md) [🇺🇦](./translations/uk.md)
|
[Tłumaczenia](#translations): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇻🇳](./translations/vi.md)
|
||||||
|
|
||||||
Podoba Ci się ten projekt? Proszę rozważyć [sponsorowanie mnie](https://github.com/sponsors/dwmkerr) i [tłumaczy](#translations) . Sprawdź również ten podcast na [The Changelog - Laws for Hackers to Live By,](https://changelog.com/podcast/403) aby dowiedzieć się więcej o projekcie! Możesz także [pobrać najnowszy e-book w formacie PDF](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pdf) . Sprawdź [Przewodnik](./.github/contributing.md) dla twórców, jeśli chcesz wnieść swój wkład!
|
Podoba Ci się ten projekt? Proszę rozważyć [sponsorowanie mnie](https://github.com/sponsors/dwmkerr) i [tłumaczy](#translations) . Sprawdź również ten podcast na [The Changelog - Laws for Hackers to Live By,](https://changelog.com/podcast/403) aby dowiedzieć się więcej o projekcie! Możesz także [pobrać najnowszy e-book w formacie PDF](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pdf) . Sprawdź [Przewodnik](./.github/contributing.md) dla twórców, jeśli chcesz wnieść swój wkład!
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Leis, teorias, princípios e padrões que desenvolvedores acharão úteis.
|
Leis, teorias, princípios e padrões que desenvolvedores acharão úteis.
|
||||||
|
|
||||||
[Traduções](#translations): [🇮🇩](./translations/pt-BR.md) [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇩🇪](./translations/de.md) [🇫🇷](./translations/fr.md) [🇬🇷](./translations/el.md) [🇮🇹](https://github.com/csparpa/hacker-laws-it) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](https://github.com/umutphp/hacker-laws-tr) [🇯🇵](./translations/jp.md)
|
[Traduções](#translations): [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
|
|
||||||
Gostou deste projeto? Por favor, considere [me apoiar](https://github.com/sponsors/dwmkerr) e [apoiar os tradutores](#traduções).
|
Gostou deste projeto? Por favor, considere [me apoiar](https://github.com/sponsors/dwmkerr) e [apoiar os tradutores](#traduções).
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Programcıların faydalı bulacağı yasalar, teoriler, prensipler ve desenler.
|
Programcıların faydalı bulacağı yasalar, teoriler, prensipler ve desenler.
|
||||||
|
|
||||||
[Çeviriler](#%C3%A7eviriler): [🇮🇩](./translations/pt-BR.md) [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇩🇪](./translations/de.md) [🇫🇷](./translations/fr.md) [🇬🇷](./translations/el.md) [🇮🇹](https://github.com/csparpa/hacker-laws-it) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](https://github.com/umutphp/hacker-laws-tr) [🇯🇵](./translations/jp.md)
|
[Çeviriler](#%C3%A7eviriler): [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md) [🇻🇳](./translations/vi.md)
|
||||||
|
|
||||||
Bu projeyi beğendiniz mi? Lütfen [sponsor olmayı](https://github.com/sponsors/dwmkerr) düşünün!
|
Bu projeyi beğendiniz mi? Lütfen [sponsor olmayı](https://github.com/sponsors/dwmkerr) düşünün!
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Các Luật, Lý thuyết, Nguyên tắc và Mẫu sẽ hữu ích cho các nhà phát triển phần mềm.
|
Các Luật, Lý thuyết, Nguyên tắc và Mẫu sẽ hữu ích cho các nhà phát triển phần mềm.
|
||||||
|
|
||||||
[Bản dịch](#translations) : [🇮🇩](./translations/id.md) [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇩🇪](./translations/de.md) [🇫🇷](./translations/fr.md) [🇬🇷](./translations/el.md) [🇮🇹](https://github.com/csparpa/hacker-laws-it) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](https://github.com/umutphp/hacker-laws-tr) [🇯🇵](./translations/jp.md) [🇺🇦](./translations/uk.md) [🇻🇳](./translations/vi.md)
|
[Bản dịch](#translations) : [🇧🇷](./translations/pt-BR.md) [🇨🇳](https://github.com/nusr/hacker-laws-zh) [🇫🇷](./translations/fr.md) [🇮🇹](./translations/it-IT.md) [🇱🇻](./translations/lv.md) [🇰🇷](https://github.com/codeanddonuts/hacker-laws-kr) [🇷🇺](https://github.com/solarrust/hacker-laws) [🇪🇸](./translations/es-ES.md) [🇹🇷](./translations/tr.md) [🇮🇩](./translations/id.md) [🇯🇵](./translations/jp.md) [🇵🇱](./translations/pl.md)
|
||||||
|
|
||||||
Bạn thích dự án này? Vui lòng xem xét [tài trợ cho tôi](https://github.com/sponsors/dwmkerr) và các [dịch giả](#translations) . Ngoài ra, hãy xem podcast này trên [The Changelog - Luật để tin tặc tồn tại](https://changelog.com/podcast/403) để tìm hiểu thêm về dự án! Bạn cũng có thể [tải xuống sách điện tử PDF mới nhất](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pdf) . Hãy xem [Hướng dẫn dành cho cộng tác viên](./.github/contributing.md) nếu bạn muốn đóng góp!
|
Bạn thích dự án này? Vui lòng xem xét [tài trợ cho tôi](https://github.com/sponsors/dwmkerr) và các [dịch giả](#translations) . Ngoài ra, hãy xem podcast này trên [The Changelog - Luật để tin tặc tồn tại](https://changelog.com/podcast/403) để tìm hiểu thêm về dự án! Bạn cũng có thể [tải xuống sách điện tử PDF mới nhất](https://github.com/dwmkerr/hacker-laws/releases/latest/download/hacker-laws.pdf) . Hãy xem [Hướng dẫn dành cho cộng tác viên](./.github/contributing.md) nếu bạn muốn đóng góp!
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user