116 lines
2.9 KiB
HTML
116 lines
2.9 KiB
HTML
|
<!doctype html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8" />
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
|
<link
|
||
|
rel="stylesheet"
|
||
|
href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.5.0/github-markdown.min.css"
|
||
|
/>
|
||
|
<title>haunt98 posts</title>
|
||
|
</head>
|
||
|
<style>
|
||
|
.markdown-body {
|
||
|
box-sizing: border-box;
|
||
|
min-width: 200px;
|
||
|
max-width: 980px;
|
||
|
margin: 0 auto;
|
||
|
padding: 45px;
|
||
|
}
|
||
|
|
||
|
@media (max-width: 767px) {
|
||
|
.markdown-body {
|
||
|
padding: 15px;
|
||
|
}
|
||
|
}
|
||
|
</style>
|
||
|
<body class="markdown-body">
|
||
|
<h2>
|
||
|
<a href="index.html"><code>~</code></a>
|
||
|
</h2>
|
||
|
<h1>
|
||
|
<a
|
||
|
id="user-content-backend-thinking"
|
||
|
class="anchor"
|
||
|
aria-hidden="true"
|
||
|
tabindex="-1"
|
||
|
href="#backend-thinking"
|
||
|
><span aria-hidden="true" class="octicon octicon-link"></span></a
|
||
|
>Backend Thinking
|
||
|
</h1>
|
||
|
<h2>
|
||
|
<a
|
||
|
id="user-content-backend-role"
|
||
|
class="anchor"
|
||
|
aria-hidden="true"
|
||
|
tabindex="-1"
|
||
|
href="#backend-role"
|
||
|
><span aria-hidden="true" class="octicon octicon-link"></span></a
|
||
|
>Backend Role
|
||
|
</h2>
|
||
|
<p>Transform business requirements to action, which usually involves:</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
Service:
|
||
|
<ul>
|
||
|
<li>
|
||
|
ZaloPay use microservices architecture, mostly written using Go and
|
||
|
Java
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li>
|
||
|
API:
|
||
|
<ul>
|
||
|
<li>HTTP (Client-Server) and GRPC (Server-Server)</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li>
|
||
|
Database/Cache/Storage/Message Broker
|
||
|
<ul>
|
||
|
<li>MySQL/Redis/S3/Kafka</li>
|
||
|
<li>CRUD</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li>
|
||
|
Docs
|
||
|
<ul>
|
||
|
<li>
|
||
|
Mostly design notes and diagrams which show how to implement
|
||
|
business requirements
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>After successfully do all of that, next step is:</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
Testing
|
||
|
<ul>
|
||
|
<li>Unit tests, Integration tests</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li>
|
||
|
Observation
|
||
|
<ul>
|
||
|
<li>Log</li>
|
||
|
<li>Metrics</li>
|
||
|
<li>Tracing</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<div>
|
||
|
Feel free to ask me via
|
||
|
<a href="mailto:hauvipapro+posts@gmail.com">email</a> or
|
||
|
<a rel="me" href="https://hachyderm.io/@haunguyen">Mastodon</a>.
|
||
|
<br />Source code is available on
|
||
|
<a href="https://github.com/haunt98/posts-go">GitHub</a>
|
||
|
<a href="https://codeberg.org/yoshie/posts-go">Codeberg</a>
|
||
|
<a href="https://git.sr.ht/~youngyoshie/posts-go">sourcehut</a>
|
||
|
<a href="https://gitea.treehouse.systems/yoshie/posts-go">Treehouse</a>
|
||
|
<a href="https://gitlab.com/youngyoshie/posts-go">GitLab</a>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|