<?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://chengyu.home.blog/2022/03/18/%e4%bd%bf%e7%94%a8lombok%e6%a8%99%e8%a8%bb%e7%9a%84%e5%95%8f%e9%a1%8c/</loc><lastmod>2022-03-18T03:34:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/08/11/ios%e6%89%8b%e6%a9%9f%e9%80%a3%e6%8e%a5pc%e7%99%bc%e7%94%9f%e6%9c%aa%e7%9f%a5%e7%9a%84%e9%8c%af%e8%aa%a40xe8000003-%e6%88%96-%e6%9c%89%e9%87%8d%e8%a4%87%e7%9a%84%e6%aa%94%e5%90%8d/</loc><lastmod>2021-08-12T14:34:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/07/27/mac-%e4%bf%ae%e6%94%b9%e8%b3%87%e6%96%99%e5%a4%be%e5%85%a7%e7%9a%84%e6%aa%94%e6%a1%88%ef%bc%88%e6%9b%bf%e6%8f%9b%e5%ad%97%e4%b8%b2%ef%bc%89/</loc><lastmod>2021-07-27T14:20:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-100/</loc><lastmod>2021-05-24T14:37:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-99/</loc><lastmod>2021-05-24T14:34:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-98/</loc><lastmod>2021-05-24T14:24:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-97/</loc><lastmod>2021-05-24T14:21:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-96/</loc><lastmod>2021-05-24T14:18:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-95/</loc><lastmod>2021-05-24T14:16:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-94/</loc><lastmod>2021-05-24T14:14:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-93/</loc><lastmod>2021-05-24T14:12:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-92/</loc><lastmod>2021-05-24T14:09:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/24/day-91/</loc><lastmod>2021-05-24T14:06:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/21/day-90/</loc><lastmod>2021-05-20T16:08:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/21/day-89/</loc><lastmod>2021-05-20T16:05:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/21/day-88/</loc><lastmod>2021-05-20T16:02:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/05/11/%e9%9d%a2%e8%a9%a6%e6%99%82%e7%9a%84%e8%80%83%e9%a1%8c/</loc><lastmod>2021-05-10T16:18:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-87/</loc><lastmod>2021-04-16T10:26:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-85/</loc><lastmod>2021-04-16T10:23:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-86/</loc><lastmod>2021-04-16T10:23:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-84/</loc><lastmod>2021-04-16T10:16:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-83/</loc><lastmod>2021-04-16T10:14:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-82/</loc><lastmod>2021-04-16T10:04:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-81/</loc><lastmod>2021-04-16T09:59:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/16/day-80/</loc><lastmod>2021-04-16T08:32:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/04/09/day-79/</loc><lastmod>2021-04-08T16:03:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/30/day-78/</loc><lastmod>2021-03-30T14:05:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/30/day-77/</loc><lastmod>2021-03-30T14:01:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/29/day-76/</loc><lastmod>2021-03-29T15:14:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/29/day-75/</loc><lastmod>2021-03-29T15:10:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/29/day-74/</loc><lastmod>2021-03-29T15:07:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/13/36-brand-management-custom-validation-8/</loc><lastmod>2021-03-28T08:38:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/22/day-73/</loc><lastmod>2021-03-22T15:48:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/22/day-72/</loc><lastmod>2021-03-22T15:45:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/22/day-71/</loc><lastmod>2021-03-22T15:38:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/10/day-70/</loc><lastmod>2021-03-10T15:03:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/10/day-69/</loc><lastmod>2021-03-10T15:00:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/10/day-68/</loc><lastmod>2021-03-10T14:57:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/08/day-67/</loc><lastmod>2021-03-08T15:20:19+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/08/day-66/</loc><lastmod>2021-03-08T15:17:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-65/</loc><lastmod>2021-03-05T17:35:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-64/</loc><lastmod>2021-03-05T17:32:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-63/</loc><lastmod>2021-03-05T17:28:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-62/</loc><lastmod>2021-03-05T17:25:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-61/</loc><lastmod>2021-03-05T17:22:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-60/</loc><lastmod>2021-03-05T17:20:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-59/</loc><lastmod>2021-03-05T17:17:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-58/</loc><lastmod>2021-03-05T17:15:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-57/</loc><lastmod>2021-03-05T17:10:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/03/06/day-56/</loc><lastmod>2021-03-05T17:06:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/23/day-55/</loc><lastmod>2021-02-23T15:34:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/23/day-54/</loc><lastmod>2021-02-23T15:32:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/23/day-53/</loc><lastmod>2021-02-23T15:29:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/23/day-52/</loc><lastmod>2021-02-23T15:25:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/23/day-51/</loc><lastmod>2021-02-23T15:23:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/22/day-50/</loc><lastmod>2021-02-22T15:46:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/22/day-49/</loc><lastmod>2021-02-22T15:43:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-48/</loc><lastmod>2021-02-15T15:49:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-47/</loc><lastmod>2021-02-15T15:46:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-46/</loc><lastmod>2021-02-15T15:43:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-45/</loc><lastmod>2021-02-15T15:39:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-44/</loc><lastmod>2021-02-15T15:36:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-43/</loc><lastmod>2021-02-15T15:33:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-42/</loc><lastmod>2021-02-15T15:30:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/15/day-41/</loc><lastmod>2021-02-15T15:26:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/13/37-sku-spu/</loc><lastmod>2021-02-13T08:14:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/11/35-brand-management-validgroup-7/</loc><lastmod>2021-02-12T16:29:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/11/34-brand-management-jsr380-validation-6/</loc><lastmod>2021-02-11T06:26:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/08/33-brand-management-5/</loc><lastmod>2021-02-08T15:49:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/08/day-40/</loc><lastmod>2021-02-08T14:23:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/08/32-brand-management-4/</loc><lastmod>2021-02-07T16:20:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/07/day-39/</loc><lastmod>2021-02-07T10:02:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/07/day-38/</loc><lastmod>2021-02-07T09:59:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/07/day-37/</loc><lastmod>2021-02-07T09:56:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/07/day-36/</loc><lastmod>2021-02-07T09:52:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/04/day-35/</loc><lastmod>2021-02-04T15:20:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/03/day-34/</loc><lastmod>2021-02-03T15:08:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/03/31-brand-management-3/</loc><lastmod>2021-02-02T16:37:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/02/day-33/</loc><lastmod>2021-02-02T14:32:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/02/day-32/</loc><lastmod>2021-02-02T14:27:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/02/day-31/</loc><lastmod>2021-02-02T13:29:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/02/day-30/</loc><lastmod>2021-02-02T13:08:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/02/02/day-29/</loc><lastmod>2021-02-02T11:42:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/30/day-28/</loc><lastmod>2021-01-30T15:11:19+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/18/react-jsx/</loc><lastmod>2021-01-29T10:09:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/28/day-27/</loc><lastmod>2021-01-28T15:41:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/26/day-26/</loc><lastmod>2021-01-26T15:33:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/25/day-25/</loc><lastmod>2021-01-25T15:54:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/25/day-24/</loc><lastmod>2021-01-25T15:51:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/25/day-23/</loc><lastmod>2021-01-25T15:43:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/22/day-22/</loc><lastmod>2021-01-22T12:56:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/22/day-21/</loc><lastmod>2021-01-22T12:42:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/22/day-20/</loc><lastmod>2021-01-22T12:27:29+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/19/day-19/</loc><lastmod>2021-01-19T13:22:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/18/day-18/</loc><lastmod>2021-01-18T15:18:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/17/codility-tapeequilibrium/</loc><lastmod>2021-01-17T15:29:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/17/day-17/</loc><lastmod>2021-01-16T16:09:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/17/day-16/</loc><lastmod>2021-01-16T16:05:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/17/day-15/</loc><lastmod>2021-01-16T16:02:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/14/day-14/</loc><lastmod>2021-01-14T15:57:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/13/day-13/</loc><lastmod>2021-01-13T11:48:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/13/day-12/</loc><lastmod>2021-01-12T16:01:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-11/</loc><lastmod>2021-01-11T13:13:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-10/</loc><lastmod>2021-01-11T13:10:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-9/</loc><lastmod>2021-01-11T13:06:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-8/</loc><lastmod>2021-01-11T13:02:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-7/</loc><lastmod>2021-01-11T12:58:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-6/</loc><lastmod>2021-01-11T12:20:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-5/</loc><lastmod>2021-01-11T12:14:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-4/</loc><lastmod>2021-01-11T12:10:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/11/day-3/</loc><lastmod>2021-01-11T12:01:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/06/day2/</loc><lastmod>2021-01-06T14:18:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2021/01/06/day-1/</loc><lastmod>2021-01-06T13:31:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/24/30-brand-management-2/</loc><lastmod>2020-12-24T15:04:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/23/29-brand-management/</loc><lastmod>2020-12-23T15:36:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/29/3-create-database/</loc><lastmod>2020-12-18T16:12:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/22/13-set-properties/</loc><lastmod>2020-12-18T05:41:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/18/28-draggable-category-item-5/</loc><lastmod>2020-12-17T16:26:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/16/27-draggable-category-item-4/</loc><lastmod>2020-12-16T15:32:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/15/26-draggable-category-item-3/</loc><lastmod>2020-12-16T15:01:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/21/10-use-rpcfeign/</loc><lastmod>2020-12-15T05:58:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/14/25-draggable-category-item-2/</loc><lastmod>2020-12-14T15:48:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/13/24-draggable-category-item/</loc><lastmod>2020-12-14T15:07:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/12/23-modify-category-item/</loc><lastmod>2020-12-12T09:39:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/10/22-create-category-item/</loc><lastmod>2020-12-12T09:18:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/10/20-delete-category-item-2/</loc><lastmod>2020-12-10T15:20:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/10/21-delete-category-item-3/</loc><lastmod>2020-12-10T10:23:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/03/vscode-%e5%ae%9a%e7%be%a9%e8%87%aa%e5%b7%b1%e7%9a%84%e7%a8%8b%e5%bc%8f%e7%a2%bc/</loc><lastmod>2020-12-10T07:23:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/09/%e6%96%b0%e5%bb%bagcp-vm/</loc><lastmod>2020-12-09T10:22:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/08/install-redis-5-redis-cluster/</loc><lastmod>2020-12-09T03:28:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/27/ssh-key%e5%bb%ba%e7%ab%8b%e5%92%8c%e4%bd%bf%e7%94%a8/</loc><lastmod>2020-12-09T02:24:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/08/19-delete-category-item-1/</loc><lastmod>2020-12-08T15:28:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/08/codility-permmissingelem/</loc><lastmod>2020-12-08T10:17:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/16/mssql-%e9%82%84%e5%8e%9f%e8%b3%87%e6%96%99%e5%ba%ab/</loc><lastmod>2020-12-08T02:29:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/07/21/mssql%e5%9c%a8%e5%85%b6%e5%ae%83%e8%a8%ad%e5%82%99%e6%96%b0%e5%a2%9edb/</loc><lastmod>2020-12-08T02:29:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/16/mssql-%e5%82%99%e4%bb%bd%e8%b3%87%e6%96%99%e5%ba%ab/</loc><lastmod>2020-12-08T02:29:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/16/mssql-%e5%bb%ba%e7%ab%8b%e4%bd%bf%e7%94%a8%e8%80%85%e5%b8%b3%e8%99%9f/</loc><lastmod>2020-12-08T02:29:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/26/docker-install-redis/</loc><lastmod>2020-12-08T02:24:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/08/18-modify-api-gateway-show-product-list/</loc><lastmod>2020-12-07T16:32:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/13/%f0%9f%92%96-perform-application-modeling-using-data-flow-diagrams-dfds/</loc><lastmod>2020-12-07T09:22:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/rating-the-threats-dread-model/</loc><lastmod>2020-12-07T09:21:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/06/17-use-ren-project-modify-product-category/</loc><lastmod>2020-12-06T11:55:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/05/16-product-three-level-category/</loc><lastmod>2020-12-05T09:17:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/05/4-vue-element/</loc><lastmod>2020-12-04T16:30:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/08/abuser-and-security-stories/</loc><lastmod>2020-12-04T10:28:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/struts2-framework-built-in-data-validators/</loc><lastmod>2020-12-04T10:28:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/07/21/react-useeffect-hook/</loc><lastmod>2020-12-04T10:26:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/09/16/%e6%9b%b4%e6%8f%9bintellij-idea%e7%9a%84svn%e8%b7%af%e5%be%91/</loc><lastmod>2020-12-04T10:24:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/19/9-use-spring-cloud-alibaba/</loc><lastmod>2020-12-04T10:17:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/20/cetnos7-apache-httpd-configure-ssl/</loc><lastmod>2020-12-04T10:16:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/12/02/3-vue-module-dev/</loc><lastmod>2020-12-01T16:30:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/28/2-vue-init/</loc><lastmod>2020-11-30T15:41:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/28/1-vue-mvvm/</loc><lastmod>2020-11-28T11:13:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/26/docker-kafka/</loc><lastmod>2020-11-27T01:52:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/26/ecmascript/</loc><lastmod>2020-11-26T14:54:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/26/docker-install-mysql/</loc><lastmod>2020-11-26T06:20:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/26/codility-binarygap/</loc><lastmod>2020-11-25T05:53:47+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/24/15-use-api-gateway/</loc><lastmod>2020-11-23T16:10:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/22/14-api-gateway-introduction/</loc><lastmod>2020-11-22T08:41:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/22/12-nacos-namespace-group/</loc><lastmod>2020-11-22T07:26:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/22/11-use-nacos-config/</loc><lastmod>2020-11-22T03:09:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/20/codility-frogjmp/</loc><lastmod>2020-11-20T09:00:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/18/docker-nacos/</loc><lastmod>2020-11-18T15:20:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/18/codility-oddoccurrencesinarray/</loc><lastmod>2020-11-18T04:21:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/14/8-micro-service/</loc><lastmod>2020-11-14T02:34:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/14/7-create-other-project-crud/</loc><lastmod>2020-11-14T01:03:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/13/6-test-crud/</loc><lastmod>2020-11-12T16:13:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/05/5-create-crud/</loc><lastmod>2020-11-12T15:37:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/09/codility-fish/</loc><lastmod>2020-11-09T15:28:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/09/codility-cyclicrotation/</loc><lastmod>2020-11-09T15:03:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/11/01/codility-brackets/</loc><lastmod>2020-11-07T07:15:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/25/virtual-box-%e5%ae%89%e8%a3%9dcent-7/</loc><lastmod>2020-11-05T10:12:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/29/4-use-renren-project/</loc><lastmod>2020-11-05T09:57:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/28/pull-project-to-idea/</loc><lastmod>2020-10-27T16:10:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/26/github-create-project/</loc><lastmod>2020-10-27T16:09:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/26/intellij-idea-plugin/</loc><lastmod>2020-10-27T16:09:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/10/23/vcg-fix-code/</loc><lastmod>2020-10-27T10:07:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/02/01/jsf-problem/</loc><lastmod>2020-10-27T10:05:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/26/easy1-two-sum/</loc><lastmod>2020-10-26T08:01:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/19/centos7-ssl-certificates-lets-encrypt/</loc><lastmod>2020-10-19T15:47:29+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/18/centos7-install-openjdk8/</loc><lastmod>2020-10-19T02:40:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/18/centos7-install-tomcat9/</loc><lastmod>2020-10-18T15:20:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/18/centos7-install-sdkman/</loc><lastmod>2020-10-18T15:04:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/10/18/vmware%e6%96%b0%e5%bb%ba%e8%99%9b%e6%93%ac%e6%a9%9f-centos7/</loc><lastmod>2020-10-18T09:59:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/26/cent-7-install-docker/</loc><lastmod>2020-10-18T09:29:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/09/30/docker-install-mongo/</loc><lastmod>2020-09-30T04:37:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/08/30/centos7-%e5%ae%89%e8%a3%9dyum%e5%84%aa%e5%85%88%e5%a5%97%e4%bb%b6%e3%80%81epel-repository%e3%80%81centos-sclo-software%e3%80%81remis-rpm-repository/</loc><lastmod>2020-08-30T03:41:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/09/17/%e8%8b%b1%e6%96%87%e5%8f%a5%e5%ad%90%e7%9a%84%e7%b5%84%e6%88%90/</loc><lastmod>2020-06-05T16:22:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/03/31/powershell-%e9%81%a0%e7%ab%af%e5%8f%96%e5%be%97%e4%ba%8b%e4%bb%b6%e8%a8%98%e9%8c%84/</loc><lastmod>2020-06-04T14:14:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/05/24/%e4%bd%bf%e7%94%a8intellij-idea%e5%bb%ba%e7%ab%8bspringboot%e5%b0%88%e6%a1%88/</loc><lastmod>2020-05-24T12:12:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/03/04/react-lifecycle/</loc><lastmod>2020-03-11T13:47:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/03/11/powershell-%e5%a4%be%e5%b8%b6%e6%aa%94%e6%a1%88%e7%99%bc%e9%80%81%e9%83%b5%e4%bb%b6email/</loc><lastmod>2020-03-11T13:46:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/03/11/powershell-%e5%8f%96%e5%be%97%e4%b8%8a%e4%b8%80%e5%80%8b%e6%9c%88%e7%9a%84%e4%ba%8b%e4%bb%b6%e9%8c%af%e8%aa%a4%e8%a8%98%e9%8c%84/</loc><lastmod>2020-03-11T13:33:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/03/04/react-class-functional-components/</loc><lastmod>2020-03-04T06:30:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/03/04/react-props/</loc><lastmod>2020-03-04T03:46:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/17/react-render/</loc><lastmod>2020-03-04T03:40:04+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/24/react-hooks/</loc><lastmod>2020-03-03T08:58:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/19/dynamic-application-security-testing-dast/</loc><lastmod>2020-02-25T05:37:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/%e7%b0%a1%e4%bb%8b/</loc><lastmod>2020-02-25T02:05:19+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://chengyu.home.blog/contact/</loc><lastmod>2020-02-25T02:03:30+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://chengyu.home.blog/2020/02/18/react-style/</loc><lastmod>2020-02-22T09:41:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/16/create-a-new-react-app/</loc><lastmod>2020-02-18T01:54:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/16/react-introduction/</loc><lastmod>2020-02-17T02:41:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/14/sonarqube-scan-java-code-2/</loc><lastmod>2020-02-14T07:00:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/07/sonarqube-scan-java-code/</loc><lastmod>2020-02-14T03:06:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2020/02/04/sonarqube-%ef%bc%86-postgresql-10-install/</loc><lastmod>2020-02-05T06:31:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/11/19/intellij-idea-%e9%97%9c%e6%96%bcsvn%e5%8c%af%e5%85%a5%e5%b0%88%e6%a1%88%e5%95%8f%e9%a1%8c/</loc><lastmod>2019-11-19T02:46:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/10/07/ch3-%e9%99%90%e5%ae%9a%e8%a9%9e/</loc><lastmod>2019-11-07T14:44:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/11/06/easy-191-number-of-1-bits/</loc><lastmod>2019-11-06T01:54:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/11/01/%e5%82%99%e5%bf%98%e9%8c%84notes-app%e9%a0%90%e8%a8%ad%e5%ad%97%e9%ab%94/</loc><lastmod>2019-11-01T09:23:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/09/20/ch2-%e5%90%8d%e8%a9%9e/</loc><lastmod>2019-10-06T09:48:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/09/30/git-%e9%81%87%e5%88%b0%e7%9a%84%e5%95%8f%e9%a1%8c/</loc><lastmod>2019-09-30T09:37:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/09/19/%e9%97%9c%e6%96%bc%ef%bc%a0scheduled%e9%87%8d%e8%a4%87%e5%9f%b7%e8%a1%8c%e5%8e%9f%e5%9b%a0/</loc><lastmod>2019-09-19T08:19:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/09/12/mac-os-%e6%9b%b4%e6%8f%9b%e7%99%bb%e5%85%a5%e4%bb%8b%e9%9d%a2%e7%9a%84%e5%9c%96%e7%89%87/</loc><lastmod>2019-09-12T08:54:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/14/static-application-security-testing-sast/</loc><lastmod>2019-09-11T06:24:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/09/erroneous-exceptional-behaviors-logging-sensitive-data/</loc><lastmod>2019-09-10T14:59:43+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/07/prevent-using-url-parameters-for-session-tracking/</loc><lastmod>2019-09-10T08:45:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/session-tracking-methods-cookies/</loc><lastmod>2019-09-10T07:12:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/the-cipher-class/</loc><lastmod>2019-09-10T05:59:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/09/secure-application-design-and-architecture/</loc><lastmod>2019-09-07T16:22:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/06/security-use-cases/</loc><image:image><image:loc>https://chengyu.home.blog/wp-content/uploads/2019/07/1562396534760.jpg</image:loc><image:title>1562396534760</image:title></image:image><lastmod>2019-09-07T07:59:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/03/abuse-cases/</loc><lastmod>2019-09-06T06:29:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/02/types-of-security-requirements/</loc><lastmod>2019-09-06T04:10:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/01/characteristics-of-good-security-requirementsmart/</loc><lastmod>2019-09-06T04:01:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/04/session-attackssession-fixation/</loc><lastmod>2019-09-06T03:29:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/04/session-attackscookie-poisoning-attacks/</loc><lastmod>2019-09-06T03:01:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/22/java-runtime-security-configurations/</loc><lastmod>2019-09-05T03:59:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/20/replace-default-server-xml/</loc><lastmod>2019-09-05T03:55:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/20/install-and-configure-tomcat-securely/</loc><lastmod>2019-09-05T01:33:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/spring-mvc-error-handling/</loc><lastmod>2019-09-04T01:38:45+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/13/vulnerabilities-in-logging/</loc><lastmod>2019-09-03T09:35:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/avoid-using-log-error-and-throw-exception-at-same-time/</loc><lastmod>2019-09-03T08:59:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/dos-and-donts-in-exception-handling/</loc><lastmod>2019-09-03T08:55:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/08/best-coding-practices-for-session-management/</loc><lastmod>2019-09-03T05:53:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/08/countermeasures-for-session-hijacking/</loc><lastmod>2019-09-03T03:50:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/08/use-ssl-for-secure-connection/</loc><lastmod>2019-09-03T03:25:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/setting-a-limited-time-period-for-session-expiration/</loc><lastmod>2019-09-03T02:09:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/insecure-and-secure-code-for-signed-sealed-object/</loc><lastmod>2019-09-02T15:27:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/26/ejb-authorization-controls/</loc><lastmod>2019-09-02T07:26:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/26/authorizing-users-by-servlets/</loc><lastmod>2019-09-02T07:05:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/input-validation-errors-improper-validation-of-strings/</loc><lastmod>2019-09-01T11:03:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/secure-and-insecure-struts-validation-code/</loc><lastmod>2019-09-01T10:37:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/session-tracking-methods-url-rewriting/</loc><lastmod>2019-08-30T09:56:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/preventing-session-cookies-from-client-side-scripts-attacks/</loc><lastmod>2019-08-30T09:47:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/session-tracking-methods-httpsession/</loc><lastmod>2019-08-30T08:23:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/session-management/</loc><lastmod>2019-08-30T07:55:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/insecure-code-for-cipher-class-using-des-algorithm/</loc><lastmod>2019-08-30T07:27:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/need-for-java-cryptography/</loc><lastmod>2019-08-30T04:07:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/declaring-roles/</loc><lastmod>2019-08-30T04:00:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/26/programmatic-security-with-ejbs/</loc><lastmod>2019-08-30T03:28:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/25/jee-based-authorization/</loc><lastmod>2019-08-29T09:43:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/introduction-to-authorization/</loc><lastmod>2019-08-29T09:42:19+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/client-certificate-authentication/</loc><lastmod>2019-08-29T08:44:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/form-based-authentication/</loc><lastmod>2019-08-29T08:23:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/basic-authentication/</loc><lastmod>2019-08-29T08:11:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/declarative-security-implementation/</loc><lastmod>2019-08-29T07:53:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/23/authentication-mechanism-implementation/</loc><lastmod>2019-08-29T07:38:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/regular-expressions/</loc><lastmod>2019-08-29T02:24:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/whitelisting-vs-blacklisting/</loc><lastmod>2019-08-29T01:36:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/cross-site-scripting-xss/</loc><lastmod>2019-08-28T09:55:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/stored-procedures-for-securing-input-validation/</loc><lastmod>2019-08-28T09:15:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/input-validation-errors-improper-comparison-of-locale-dependent-data/</loc><lastmod>2019-08-28T09:06:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/input-validation-errors-improper-use-of-string-modification/</loc><lastmod>2019-08-28T08:56:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/input-validation-errors-improper-validation-of-non-character-code-points/</loc><lastmod>2019-08-28T08:39:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/input-validation-errors-inappropriate-use-of-split-characters-in-data-structures/</loc><lastmod>2019-08-28T08:38:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/input-validation-errors-improper-incorporation-of-malicious-inputs-into-format-strings/</loc><lastmod>2019-08-28T08:23:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/input-validation-errors-improper-logging-of-user-inputs/</loc><lastmod>2019-08-28T08:08:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/02/different-security-requirement-engineering-approaches-model/</loc><lastmod>2019-08-27T05:29:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/03/denial-of-service/</loc><lastmod>2019-08-26T03:56:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/01/cross-site-request-forgery-csrf-attack/</loc><lastmod>2019-08-26T03:53:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/06/30/directory-traversal/</loc><lastmod>2019-08-26T03:27:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/06/29/parameter-tampering/</loc><lastmod>2019-08-26T03:12:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/06/29/cross-site-scripting-xss-attacks/</loc><lastmod>2019-08-26T02:49:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/06/28/sql-injection-attacks/</loc><lastmod>2019-08-26T02:40:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/22/post-deployment-activities-security-maintenance-and-monitoring/</loc><lastmod>2019-08-22T12:09:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/22/how-to-configure-encryption-on-the-client-and-the-server/</loc><lastmod>2019-08-22T07:27:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/22/oracle-database-general-security-overview/</loc><lastmod>2019-08-22T06:42:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/20/web-application-firewall-waf/</loc><lastmod>2019-08-20T08:33:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/20/network-level-security-router/</loc><lastmod>2019-08-20T07:28:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/20/secure-deployment/</loc><lastmod>2019-08-20T06:48:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/19/sample-checklist-exception-handling/</loc><lastmod>2019-08-19T07:59:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/15/code-review-for-blacklisting-validation-approach/</loc><lastmod>2019-08-16T06:44:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/15/static-code-analysis-using-visual-code-grepper-vcg/</loc><lastmod>2019-08-16T01:59:14+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/15/code-review-for-generic-exception-throwing-and-catching/</loc><lastmod>2019-08-15T09:57:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/14/recommendation-for-effective-sast/</loc><lastmod>2019-08-14T05:51:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/13/secured-practices-in-logging/</loc><lastmod>2019-08-13T07:39:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/13/log4j-and-java-logging-api/</loc><lastmod>2019-08-13T06:29:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/13/logging-in-java/</loc><lastmod>2019-08-13T06:26:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/13/best-practices-for-handling-exceptions-in-java-contd/</loc><lastmod>2019-08-13T05:55:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/best-practices-for-handling-exceptions-in-java/</loc><lastmod>2019-08-12T07:02:29+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/exception-handling-struts-2/</loc><lastmod>2019-08-12T06:54:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/mapping-custom-exceptions-to-statuscode-with-responsestatus/</loc><lastmod>2019-08-12T06:44:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/spring-mvc-global-exception-handling/</loc><lastmod>2019-08-12T06:36:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/12/erroneous-exceptional-behaviors-never-catch-java-lang-nullpointerexception/</loc><lastmod>2019-08-12T05:58:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/09/erroneous-exceptional-behaviors/</loc><lastmod>2019-08-12T02:38:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/09/example-of-an-exception/</loc><lastmod>2019-08-09T02:07:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/08/exception-and-error-handling/</loc><lastmod>2019-08-08T09:49:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/08/module-summary-2/</loc><lastmod>2019-08-08T04:13:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/08/checklist-to-secure-credentials-and-session-ids/</loc><lastmod>2019-08-08T04:09:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/07/spring-session-management/</loc><lastmod>2019-08-07T07:23:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/07/session-management-using-spring-security/</loc><lastmod>2019-08-07T06:23:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/07/session-tracking-methods-hidden-fields/</loc><lastmod>2019-08-07T03:20:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/best-practices-for-java-cryptography/</loc><lastmod>2019-08-06T07:19:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/dos-and-donts-implement-strong-entropy/</loc><lastmod>2019-08-06T07:01:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/dos-and-donts-avoid-using-insecure-cryptographic-algorithms/</loc><lastmod>2019-08-06T06:15:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/implementing-jws-using-jose4j/</loc><lastmod>2019-08-06T05:39:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/javascript-object-signing-and-encryption-jose/</loc><lastmod>2019-08-06T03:30:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/implementing-bcryptpasswordencoder/</loc><lastmod>2019-08-06T02:47:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/06/crypto-module/</loc><lastmod>2019-08-06T02:02:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/java-card-cryptography/</loc><lastmod>2019-08-05T08:01:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/implementing-hashing-with-salt-in-spring-security/</loc><lastmod>2019-08-05T07:52:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/hashing/</loc><lastmod>2019-08-05T07:30:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/signed-code-sources/</loc><lastmod>2019-08-05T06:21:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/signing-jars/</loc><lastmod>2019-08-05T05:59:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/digital-certificates/</loc><lastmod>2019-08-05T03:50:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/key-management-tool-keytool/</loc><lastmod>2019-08-05T02:07:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/05/keystore-persistent-data-stores/</loc><lastmod>2019-08-05T01:39:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/04/attack-scenario-poor-key-management/</loc><lastmod>2019-08-04T08:33:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/04/jsse-and-https/</loc><lastmod>2019-08-04T06:00:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/04/ssl-and-security-example/</loc><lastmod>2019-08-03T17:05:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/java-secure-socket-extension-jsse/</loc><lastmod>2019-08-02T09:55:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/secure-socket-layer-ssl/</loc><lastmod>2019-08-02T09:43:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/java-xml-digital-signature/</loc><lastmod>2019-08-02T08:51:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/the-signedobjects/</loc><lastmod>2019-08-02T06:26:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/the-signature-class/</loc><lastmod>2019-08-02T03:56:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/attack-scenario-man-in-the-middle-attack/</loc><lastmod>2019-08-02T02:49:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/creating-secretkey-with-keygenerator-class/</loc><lastmod>2019-08-02T01:48:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/02/implementation-methods-of-keygenerator-class/</loc><lastmod>2019-08-02T01:23:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/encryption-decryption-implementation-methods/</loc><lastmod>2019-08-01T15:58:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/attack-scenario-inadequate-weak-encryption/</loc><lastmod>2019-08-01T15:17:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/secure-development-checklists-broken-authentication-and-session-management/</loc><lastmod>2019-08-01T03:59:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/prevent-session-stealing-by-securing-sessionid-cookie/</loc><lastmod>2019-08-01T03:43:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/implement-appropriate-session-timeout/</loc><lastmod>2019-08-01T02:56:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/avoid-cookie-based-remember-me-use-persistent-remember-me/</loc><lastmod>2019-08-01T02:05:30+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/do-not-store-password-in-java-string-object/</loc><lastmod>2019-08-01T01:11:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/spring-jaas-implementation/</loc><lastmod>2019-07-31T16:35:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/08/01/remember-me-authentication/</loc><lastmod>2019-07-31T16:11:42+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/logout-feature-configuration/</loc><lastmod>2019-07-31T15:23:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/configuring-anonymous-login/</loc><lastmod>2019-07-31T15:08:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/method-authorization/</loc><lastmod>2019-07-31T09:56:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/url-based-authorization/</loc><lastmod>2019-07-31T08:00:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/security-expressions/</loc><lastmod>2019-07-31T06:47:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/implementing-digest-authentication/</loc><lastmod>2019-07-31T05:57:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/form-based-authentication-2/</loc><lastmod>2019-07-31T05:52:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/securing-authentication-provider/</loc><lastmod>2019-07-31T03:44:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/storing-username-and-password/</loc><lastmod>2019-07-31T02:24:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/31/spring-authentication/</loc><lastmod>2019-07-31T01:43:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/spring-security-framework/</loc><lastmod>2019-07-30T09:56:18+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/common-mistakes/</loc><lastmod>2019-07-30T09:28:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/http-authentication-schemes/</loc><lastmod>2019-07-30T08:21:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/java-ee-application-architecture/</loc><lastmod>2019-07-30T07:07:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/phases-in-login-process/</loc><lastmod>2019-07-30T06:51:52+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/loginmodule-example/</loc><lastmod>2019-07-30T06:45:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/jaas-client/</loc><lastmod>2019-07-30T06:12:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/30/locating-jaas-configuration-file/</loc><lastmod>2019-07-30T03:04:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/29/creating-logincontext/</loc><lastmod>2019-07-29T15:38:28+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/29/jaas-permissions/</loc><lastmod>2019-07-29T09:35:11+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/29/impersonation-in-jaas/</loc><lastmod>2019-07-28T17:03:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/29/subject-methods-doas-and-doasprivileged/</loc><lastmod>2019-07-28T16:43:06+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/27/authentication-in-jaas/</loc><lastmod>2019-07-27T06:08:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/27/jaas-classes/</loc><lastmod>2019-07-27T03:05:00+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/26/pluggable-authentication-module-pam-framework/</loc><lastmod>2019-07-26T09:51:29+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/26/java-authentication-and-authorization-jaas/</loc><lastmod>2019-07-26T06:17:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/25/servlet-container/</loc><lastmod>2019-07-25T09:24:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/25/%f0%9f%92%96discretionary-access-control-dac/</loc><lastmod>2019-07-25T03:42:25+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/25/access-control-model/</loc><lastmod>2019-07-25T02:11:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/authentication-weaknesses-and-prevention-weak-password-attacks/</loc><lastmod>2019-07-24T08:20:49+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/authentication-weaknesses-and-prevention-brute-force-attack/</loc><lastmod>2019-07-24T07:06:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/secured-kereros-implementation/</loc><lastmod>2019-07-24T05:30:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/24/implementing-kerberos-based-authentication/</loc><lastmod>2019-07-24T05:06:48+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/23/introduction-to-authentication/</loc><lastmod>2019-07-23T08:04:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/module-summary/</loc><lastmod>2019-07-22T09:58:58+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/best-practices-for-input-validation/</loc><lastmod>2019-07-22T09:28:54+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/captcha/</loc><lastmod>2019-07-22T08:39:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/injection-attacks-countermeasures/</loc><lastmod>2019-07-22T07:47:12+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/unrestricted-file-upload-attack/</loc><lastmod>2019-07-22T07:29:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/xml-external-entity-attack/</loc><lastmod>2019-07-22T07:07:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/ldap-injection/</loc><lastmod>2019-07-22T03:45:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/command-injection/</loc><lastmod>2019-07-22T03:20:24+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/xml-injection/</loc><lastmod>2019-07-22T03:08:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/protecting-application-from-log-injection-attack/</loc><lastmod>2019-07-22T02:57:13+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/22/parameter-manipulation-and-countermeasures/</loc><lastmod>2019-07-22T02:48:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/21/http-response-splitting/</loc><lastmod>2019-07-21T10:22:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/21/%f0%9f%92%96directory-traversal/</loc><lastmod>2019-07-21T08:33:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/21/cross-site-request-forgery-csrf/</loc><lastmod>2019-07-21T08:06:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/21/html-encoding/</loc><lastmod>2019-07-21T07:50:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/checklist-for-character-encoding/</loc><lastmod>2019-07-20T15:34:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/vulnerable-and-secure-code-for-character-encoding/</loc><lastmod>2019-07-20T12:38:08+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/character-encoding/</loc><lastmod>2019-07-20T12:30:32+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/validation-and-security-issues/</loc><lastmod>2019-07-20T10:43:27+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/20/%f0%9f%92%96vulnerable-and-secure-code-for-regular-expressions/</loc><lastmod>2019-07-20T10:40:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/stored-procedures/</loc><lastmod>2019-07-19T09:50:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/prepared-statement/</loc><lastmod>2019-07-19T09:37:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/sql-injection/</loc><lastmod>2019-07-19T09:18:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/19/spring-validation-and-security/</loc><lastmod>2019-07-19T03:51:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/jsr-380-bean-validator-api/</loc><lastmod>2019-07-19T02:09:50+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/struts2-custom-validation-workflow-interceptor/</loc><lastmod>2019-07-18T09:39:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/struts2-framework-validator/</loc><lastmod>2019-07-18T07:50:22+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/struts-validation-and-security/</loc><lastmod>2019-07-18T03:48:02+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/struts-validator/</loc><lastmod>2019-07-18T02:45:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/18/data-validation-using-owasp-esapi/</loc><lastmod>2019-07-18T02:37:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/validation-filters-for-servlet/</loc><lastmod>2019-07-17T09:38:07+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/servlet-filters/</loc><lastmod>2019-07-17T09:07:03+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/open-source-validation-framework-for-java/</loc><lastmod>2019-07-17T08:52:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/input-validation-using-frameworks-and-apis/</loc><lastmod>2019-07-17T07:45:17+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/data-validation-techniques/</loc><lastmod>2019-07-17T07:36:46+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/17/design-secure-application-architecture/</loc><lastmod>2019-07-17T06:01:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/15/identify-the-threats-the-stride-model/</loc><lastmod>2019-07-17T01:44:41+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/13/%f0%9f%92%96threat-modeling-design-phase/</loc><lastmod>2019-07-13T04:41:01+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/08/security-quality-requirements-engineering/</loc><lastmod>2019-07-08T03:56:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/04/session-attackscookie-poisoning-attacks-contd/</loc><lastmod>2019-06-30T10:04:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog/2019/07/02/cross-site-request-forgery-csrf-attack-contd/</loc><lastmod>2019-06-29T13:45:16+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://chengyu.home.blog</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2022-03-18T03:34:53+00:00</lastmod></url></urlset>
