<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress.com" -->
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>https://til.dathoang.blog/2025/09/06/building-a-flickr-to-wordpress-importer-with-claude-code/</loc><lastmod>2025-10-12T17:31:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/03/07/woocommerce-payments-embracing-stricter-l-2-support/</loc><lastmod>2025-05-04T08:10:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/05/03/payment-webhook-reliability/</loc><lastmod>2025-05-04T07:51:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/06/03/code-snippets-in-functions-php-may-not-work-as-expected/</loc><lastmod>2025-05-04T07:49:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/03/07/testing-php-static-functions-with-phpunit-challenges-and-solutions/</loc><lastmod>2025-05-04T07:38:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/01/17/dependency-injection-and-dependency-inversion/</loc><lastmod>2025-05-04T07:38:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/10/03/til-webauthn/</loc><lastmod>2025-05-04T07:37:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/11/02/til-its-more-clear-data-mapper-active-record-orm/</loc><lastmod>2025-05-04T05:08:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/12/24/til-more-about-kafka-two-generals-problem-and-duplicate-payments/</loc><lastmod>2025-05-04T04:27:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2024/02/21/til-associative-table-and-many-to-many-relationship/</loc><lastmod>2025-05-04T03:51:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/08/15/e2e-puppeteer-flaky-test-failures-and-retries/</loc><lastmod>2024-03-03T16:46:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/05/18/php-and-javascript-produce-the-same-result-for-now-and-future/</loc><lastmod>2024-03-03T16:46:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/11/28/til-message-queue/</loc><lastmod>2023-12-13T07:39:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/12/12/til-mysql-on-duplicate-key-update/</loc><lastmod>2023-12-13T07:39:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/12/13/til-mysql-data-type-decimal/</loc><lastmod>2023-12-13T07:38:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/10/04/til-term-god-godlike-object/</loc><lastmod>2023-10-04T07:11:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2023/06/07/til-timing-attack/</loc><lastmod>2023-09-21T10:42:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/contact/</loc><lastmod>2023-06-13T03:41:30+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://til.dathoang.blog/2023/04/21/til-git-grep-replace-code/</loc><lastmod>2023-04-21T04:01:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/03/06/xdebug-nginx-php-fpm/</loc><lastmod>2022-05-18T04:58:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/03/05/typescript-learn-up/</loc><lastmod>2022-03-07T02:23:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2022/02/24/parameters-vs-arguments/</loc><lastmod>2022-02-24T03:32:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/09/12/how-to-speed-up-uploading-multiple-files-via-http/</loc><lastmod>2021-09-15T01:51:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/08/31/php-in_array-is-very-slow-for-a-huge-array/</loc><lastmod>2021-09-07T09:25:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/09/04/java-my-first-sip/</loc><lastmod>2021-09-04T10:05:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/08/29/test-double/</loc><lastmod>2021-09-01T03:13:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/08/24/book-the-pragmatic-programmer/</loc><lastmod>2021-08-24T06:24:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/08/08/algorithms-specialization-notes/</loc><lastmod>2021-08-08T04:15:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/09/15/woo-viet-1-5-0-and-onepay-gateways/</loc><lastmod>2021-08-08T02:55:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/03/28/access-control-patterns/</loc><image:image><image:loc>https://til.dathoang.blog/wp-content/uploads/2021/03/pexels-photo-5935788-e1616944433465.jpeg</image:loc><image:title>crop hacker typing on laptop with data on screen</image:title><image:caption>Photo by Sora Shimazaki on &lt;a href="https://www.pexels.com/photo/crop-hacker-typing-on-laptop-with-data-on-screen-5935788/" rel="nofollow"&gt;Pexels.com&lt;/a&gt;</image:caption></image:image><lastmod>2021-08-08T02:54:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/05/27/whitehat-security-trainings/</loc><image:image><image:loc>https://til.dathoang.blog/wp-content/uploads/2021/05/security-protection-anti-virus-software-60504.jpeg</image:loc><image:title>internet screen security protection</image:title><image:caption>Photo by Pixabay on &lt;a href="https://www.pexels.com/photo/internet-screen-security-protection-60504/" rel="nofollow"&gt;Pexels.com&lt;/a&gt;</image:caption></image:image><lastmod>2021-08-08T02:54:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/08/29/mern-course-on-udemy/</loc><image:image><image:loc>https://til.dathoang.blog/wp-content/uploads/2020/08/screen-shot-on-2020-08-29-at-143543.png</image:loc><image:title>Screen Shot on 2020-08-29 at 14:35:43</image:title></image:image><lastmod>2021-08-08T02:51:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/07/02/my-first-experience-with-e2e-jest-and-puppeteer/</loc><lastmod>2021-07-01T10:33:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/07/01/first-experience-with-ci-github-actions-vs-travis-ci-vs-circleci/</loc><lastmod>2021-07-01T10:11:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/05/14/php-8-0-non-strict-comparisons-for-a-string-and-a-number/</loc><lastmod>2021-05-21T16:29:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2021/03/27/setting-up-tools-for-my-ides-vscode-and-phpstorm/</loc><lastmod>2021-03-28T14:51:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/11/29/cachegrind-profiling-tool/</loc><lastmod>2020-11-29T04:04:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/11/21/add_action-wordpress-and-sicp/</loc><lastmod>2020-11-21T02:04:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/09/13/currency-conversion-my-react-side-project/</loc><lastmod>2020-09-13T05:09:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/09/12/wordpress-detect-homepage-on-functions-php/</loc><lastmod>2020-09-11T23:15:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/08/02/computer-networking-a-top-down-approach/</loc><lastmod>2020-09-10T01:31:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2017/12/10/if-you-want-to-be-great-youre-responsible-for-making-yourself-great/</loc><image:image><image:loc>https://til.dathoang.blog/wp-content/uploads/2020/09/code-complete-page-e1599527588968.jpg</image:loc><image:title>code-complete-page</image:title></image:image><lastmod>2020-09-08T01:14:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/04/27/javascript-settimeout-with-promise/</loc><lastmod>2020-08-02T08:14:19+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog/2020/04/19/logical-operators-php-vs-javascript/</loc><lastmod>2020-08-02T08:13:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://til.dathoang.blog</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2025-10-12T17:31:54+00:00</lastmod></url></urlset>
