<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://clavinjune.dev/en/blogs/</loc><lastmod>2025-12-19T00:47:00+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/"/></url><url><loc>https://clavinjune.dev/en/categories/</loc><lastmod>2025-12-19T00:47:00+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/categories/"/><xhtml:link rel="alternate" hreflang="ja" href="https://clavinjune.dev/ja/categories/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/categories/"/></url><url><loc>https://clavinjune.dev/en/categories/communication/</loc><lastmod>2025-12-19T00:47:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/giving-feedbacks/</loc><lastmod>2025-12-19T00:47:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/</loc><lastmod>2025-12-19T00:47:00+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/"/><xhtml:link rel="alternate" hreflang="ja" href="https://clavinjune.dev/ja/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/"/></url><url><loc>https://clavinjune.dev/en/blogs/certified-kubernetes-administrator/</loc><lastmod>2025-12-12T23:06:11+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/categories/tech/</loc><lastmod>2025-12-12T23:06:11+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/categories/tech/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/categories/tech/"/></url><url><loc>https://clavinjune.dev/en/blogs/certified-gitops-associate/</loc><lastmod>2025-04-19T12:09:11+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/update-on-my-mistake-on-converting-slice-to-slice-of-ptr-in-golang/</loc><lastmod>2024-02-17T14:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-structured-logging-introduction/</loc><lastmod>2024-01-28T12:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-testing-http-handler/</loc><lastmod>2023-12-31T19:52:21+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/talks/create-plug-n-play-services-with-plugin-stdlib/</loc><lastmod>2023-10-31T10:18:51+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/talks/</loc><lastmod>2023-10-31T10:18:51+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/fetch-current-script-tag-attributes-in-javascript/</loc><lastmod>2022-11-25T19:23:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/working-with-multiple-gitconfig/</loc><lastmod>2022-10-08T11:57:59+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/working-with-multiple-gitconfig/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/working-with-multiple-gitconfig/"/></url><url><loc>https://clavinjune.dev/en/blogs/ways-to-define-custom-command-line-flags-in-golang/</loc><lastmod>2022-09-04T01:18:05+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/ways-to-define-custom-command-line-flags-in-golang/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/ways-to-define-custom-command-line-flags-in-golang/"/></url><url><loc>https://clavinjune.dev/en/blogs/handle-database-credential-rotation-in-golang/</loc><lastmod>2022-08-29T16:30:58+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/talks/developing-api-services-with-golang-at-finditgeek/</loc><lastmod>2022-07-25T22:07:51+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/talks/foo-at-bar/</loc><lastmod>2022-07-25T08:16:08+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/create-flag-using-bitmask-and-bitwise-operator-in-go/</loc><lastmod>2022-07-15T11:23:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/find-git-branching-point-between-branch/</loc><lastmod>2022-06-05T00:00:17+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/categories/sunday-snippet/</loc><lastmod>2022-06-05T00:00:17+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/categories/sunday-snippet/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/categories/sunday-snippet/"/></url><url><loc>https://clavinjune.dev/en/blogs/podman-support-multi-arch/</loc><lastmod>2022-05-29T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-http-handler-with-gzip/</loc><lastmod>2022-05-26T16:52:21+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-escape-double-quoted-string-easily/</loc><lastmod>2022-05-22T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/include-dotenv-file-to-makefile/</loc><lastmod>2022-05-15T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-print-struct-verbosely/</loc><lastmod>2022-05-08T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-inject-build-time-variable/</loc><lastmod>2022-05-01T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/push-commit-from-github-action/</loc><lastmod>2022-04-24T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-stream-all-lines-from-stdin/</loc><lastmod>2022-04-17T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/git-log-prettify/</loc><lastmod>2022-04-10T00:00:01+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/bash-initiate-redis-cluster-using-docker/</loc><lastmod>2022-04-03T20:17:05+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/comparing-string-to-avoid-time-based-attacks/</loc><lastmod>2022-03-27T02:10:21+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/change-directory-to-git-root-directory/</loc><lastmod>2022-03-20T22:05:52+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-wasm-async-function/</loc><lastmod>2022-03-13T00:00:14+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/unix-print-aliased-command-location/</loc><lastmod>2022-03-06T00:00:10+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/unix-print-aliased-command-location/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/unix-print-aliased-command-location/"/></url><url><loc>https://clavinjune.dev/en/blogs/golang-http-server-graceful-shutdown/</loc><lastmod>2022-02-27T00:00:13+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/golang-http-server-graceful-shutdown/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/golang-http-server-graceful-shutdown/"/></url><url><loc>https://clavinjune.dev/en/blogs/construct-golang-struct-using-optional-function/</loc><lastmod>2022-02-20T00:00:17+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/construct-golang-struct-using-optional-function/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/construct-golang-struct-using-optional-function/"/></url><url><loc>https://clavinjune.dev/en/blogs/gradle-debugging-dependencies/</loc><lastmod>2022-02-13T02:00:43+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/gradle-debugging-dependencies/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/gradle-debugging-dependencies/"/></url><url><loc>https://clavinjune.dev/en/blogs/golang-panic-handler-middleware/</loc><lastmod>2022-02-06T00:10:15+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/golang-panic-handler-middleware/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/golang-panic-handler-middleware/"/></url><url><loc>https://clavinjune.dev/en/blogs/golang-dependency-injection-using-wire/</loc><lastmod>2022-02-02T18:18:57+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/go-get-golang-private-module/</loc><lastmod>2022-01-30T10:54:55+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/go-get-golang-private-module/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/go-get-golang-private-module/"/></url><url><loc>https://clavinjune.dev/en/blogs/simple-http-server-using-python/</loc><lastmod>2022-01-23T20:07:24+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/simple-http-server-using-python/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/simple-http-server-using-python/"/></url><url><loc>https://clavinjune.dev/en/blogs/unix-heredoc-cheatsheet/</loc><lastmod>2022-01-13T10:27:14+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/vim-save-changes-with-sudo/</loc><lastmod>2022-01-05T04:19:48+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/listening-to-random-available-port-in-go/</loc><lastmod>2022-01-04T17:09:11+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/serving-embedded-static-file-inside-subdirectory-using-go/</loc><lastmod>2021-12-30T11:59:30+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/mocking-http-call-in-golang-a-better-way/</loc><lastmod>2021-12-17T11:02:44+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/working-with-remote-docker-using-docker-context/</loc><lastmod>2021-12-02T15:36:25+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/working-with-remote-docker-using-docker-context/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/working-with-remote-docker-using-docker-context/"/></url><url><loc>https://clavinjune.dev/en/blogs/how-to-minimize-go-apps-container-image/</loc><lastmod>2021-11-19T18:46:59+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/npm-login-not-working/</loc><lastmod>2021-11-18T13:18:24+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/speed-up-golang-test-execution-time/</loc><lastmod>2021-11-15T16:06:19+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/bypass-recaptcha-automatically-using-go/</loc><lastmod>2021-11-08T15:42:12+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/categories/sponsored/</loc><lastmod>2021-11-08T15:42:12+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-http-client-interceptors/</loc><lastmod>2021-10-29T05:09:38+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/this-is-why-you-should-learn-golang/</loc><lastmod>2021-10-27T13:22:21+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/image-processing-using-hugo/</loc><lastmod>2021-10-25T15:34:44+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/implement-unit-test-for-cli-apps-using-golang-and-cobra/</loc><lastmod>2021-10-21T21:28:31+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/implement-unit-test-for-cli-apps-using-golang-and-cobra/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/implement-unit-test-for-cli-apps-using-golang-and-cobra/"/></url><url><loc>https://clavinjune.dev/en/blogs/create-log-parser-using-go/</loc><lastmod>2021-10-21T15:42:38+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/create-log-parser-using-go/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/create-log-parser-using-go/"/></url><url><loc>https://clavinjune.dev/en/blogs/my-custom-http-error-in-golang/</loc><lastmod>2021-05-18T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/passing-hostname-to-docker-services/</loc><lastmod>2021-04-29T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/my-mistake-on-converting-slice-to-slice-of-ptr-in-golang/</loc><lastmod>2021-04-22T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/mocking-http-call-in-golang/</loc><lastmod>2021-04-11T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/execute-date-format-in-cron/</loc><lastmod>2021-03-26T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/vault-kv-v2-list-policy/</loc><lastmod>2021-03-25T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/golang-context-cancelled-on-goroutine/</loc><lastmod>2021-03-22T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/lru-cache-in-go/</loc><lastmod>2021-02-06T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/buffered-vs-unbuffered-channel-in-golang/</loc><lastmod>2021-01-24T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/linux-retains-the-size-of-the-deleted-file/</loc><lastmod>2021-01-23T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/max-heap-in-go/</loc><lastmod>2021-01-16T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/python-format-specifier-thousands-separator/</loc><lastmod>2021-01-16T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/greatest-common-divisor-and-least-common-multiplier/</loc><lastmod>2021-01-11T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/sieve-of-eratosthenes/</loc><lastmod>2021-01-10T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/contextual-logging-in-go/</loc><lastmod>2020-12-19T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/asymmetric-cryptography-signing-vs-encrypting/</loc><lastmod>2020-12-07T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/transient-modifier-in-java/</loc><lastmod>2020-11-18T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/avl-tree-in-go/</loc><lastmod>2020-11-15T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/binary-search-tree-in-go/</loc><lastmod>2020-11-12T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/force-set-character-encoding-on-spring-boot/</loc><lastmod>2020-11-11T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/categories/life-style/</loc><lastmod>2020-11-01T00:00:00+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/categories/life-style/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/categories/life-style/"/></url><url><loc>https://clavinjune.dev/en/blogs/work-life-balance/</loc><lastmod>2020-11-01T00:00:00+07:00</lastmod><xhtml:link rel="alternate" hreflang="id" href="https://clavinjune.dev/id/blogs/work-life-balance/"/><xhtml:link rel="alternate" hreflang="en" href="https://clavinjune.dev/en/blogs/work-life-balance/"/></url><url><loc>https://clavinjune.dev/en/blogs/monetize-your-content-with-web-monetization/</loc><lastmod>2020-10-30T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/create-redis-sets-with-member-expiration/</loc><lastmod>2020-10-29T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/creating-taboo-error-handler-for-go/</loc><lastmod>2020-10-28T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/allow-upload-file-on-spring-boot/</loc><lastmod>2020-10-26T00:00:00+07:00</lastmod></url><url><loc>https://clavinjune.dev/en/blogs/i-create-this-blog-using-jekyll/</loc><lastmod>2020-10-24T00:00:00+07:00</lastmod></url></urlset>