<?xml version='1.0' encoding='utf-8' ?>
<!-- Made with love by pretalx v2026.1.1. -->
<schedule>
    <generator name="pretalx" version="2026.1.1" />
    <version>0.24</version>
    <conference>
        <title>JCConf 2025</title>
        <acronym>jcconf-2025</acronym>
        <start>2025-09-19</start>
        <end>2025-09-19</end>
        <days>1</days>
        <timeslot_duration>00:05</timeslot_duration>
        <base_url>https://pretalx.com</base_url>
        
        <time_zone_name>Asia/Taipei</time_zone_name>
        
        
        <track name="Promotion" slug="5773-promotion"  color="#c19d0c" />
        
        <track name="402AB" slug="5774-402ab"  color="#268785" />
        
        <track name="401" slug="5775-401"  color="#d0104c" />
        
        <track name="402CD" slug="5776-402cd"  color="#1b813e" />
        
        <track name="203" slug="5777-203"  color="#954a45" />
        
        <track name="403" slug="5778-403"  color="#574c57" />
        
    </conference>
    <day index='1' date='2025-09-19' start='2025-09-19T04:00:00+08:00' end='2025-09-20T03:59:00+08:00'>
        <room name='401' guid='a250931c-41cc-5e13-bdde-fb4960a2b1cf'>
            <event guid='8c69da0f-93f6-53b8-a51a-ce820c3c84a4' id='78349' code='U8DEVV'>
                <room>401</room>
                <title>Opening</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T09:25:00+08:00</date>
                <start>09:25</start>
                <duration>00:10</duration>
                <abstract>Opening</abstract>
                <slug>jcconf-2025-78349-opening</slug>
                <track>401</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/U8DEVV/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/U8DEVV/feedback/</feedback_url>
            </event>
            <event guid='3d7154de-12e0-51d2-9a8c-55c48f815896' id='80020' code='KRNWHV'>
                <room>401</room>
                <title>&#23459;&#20659;&#35696;&#31243; - LINE</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T09:35:00+08:00</date>
                <start>09:35</start>
                <duration>00:05</duration>
                <abstract>&#32317;&#37096;&#20301;&#26044;&#26085;&#26412;&#30340;LINE&#20197;&#12300;&#25289;&#36817;&#20320;&#25105;&#30340;&#36317;&#38626;&#12301;&#28858;&#20225;&#26989;&#20351;&#21629;&#65292;&#36879;&#36942;&#22810;&#20803;&#30340;&#34892;&#21205;&#26381;&#21209;&#33287;&#20839;&#23481;&#65292;&#33268;&#21147;&#23559;&#20154;&#20497;&#12289;&#36039;&#35338;&#33287;&#31038;&#26371;&#32202;&#23494;&#36899;&#32080;&#12290;&#33258;2011&#24180;6&#26376;&#20197;&#36890;&#35338;&#36575;&#39636;&#30340;&#22411;&#24907;&#25512;&#20986;&#65292;&#29694;&#26356;&#25512;&#23637;&#20854;&#22810;&#20803;&#30340;&#20840;&#29699;&#29983;&#24907;&#31995;&#65292;&#20006;&#23559;&#35320;&#35282;&#24310;&#20280;&#33267;&#20154;&#24037;&#26234;&#24935;&#12289;&#37329;&#34701;&#31185;&#25216;&#31561;&#38936;&#22495;&#65292;&#31309;&#26997;&#23526;&#29694;&#12300;&#26234;&#24935;&#20837;&#21475;&#12301;&#30340;&#39000;&#26223;&#65292;2021&#24180;3&#26376;&#65292;LINE&#33287;&#26085;&#26412;&#35215;&#27169;&#26368;&#22823;&#30340;&#32178;&#36335;&#31185;&#25216;&#38598;&#22296;&#20043;&#19968;Z Holdings &#27491;&#24335;&#25972;&#20341;&#65292;&#26410;&#20358;&#20063;&#23559;&#25345;&#32396;&#25552;&#20379;&#29992;&#25142;&#20139;&#26377;&#26368;&#21363;&#26178;&#12289;&#20415;&#21033;&#30340;&#34892;&#21205;&#29983;&#27963;&#12290;&#27442;&#30637;&#35299;&#26356;&#22810;&#36039;&#35338;&#65292;&#35531;&#28687;&#35261;&#23448;&#26041;&#32178;&#31449;&#65306;http://linecorp.com/zh-hant/</abstract>
                <slug>jcconf-2025-80020-line</slug>
                <track>Promotion</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/KRNWHV/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/KRNWHV/feedback/</feedback_url>
            </event>
            <event guid='8fc5fbd0-5a9b-5de2-8efb-2a411b7c8bf0' id='75893' code='8PBNXM'>
                <room>401</room>
                <title>From the JDK 21 25: Langage, API, JVM (EN)</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T09:40:00+08:00</date>
                <start>09:40</start>
                <duration>00:45</duration>
                <abstract>The 25 version of the JDK is a version on which vendors offer Long Term Support (LTS), and thus a version that companies and projects will adopt. It probably makes sense to take a look at all the features added to the JDK between 21 and 25, in the language, the API, and the JVM. This presentation focuses on four elements. This first one is the in-memory data processing, with the Gatherer API, the last addition to the Stream API. The second one has to do with asynchronous programming with the Loom project. Loom delivered Virtual Threads as a final feature in the JDK 21, and fixed the pinning issue in the JDK 24. It is delivering Scoped Values, a replacement of ThreadLocals as a final feature in the JDK 25, and a new version of the Structured Concurrency API, still as a preview feature in the JDK 25. And at last, we will talk about immutability and null values handling, with Stable Values, a new API available as a preview feature, also in the JDK 25.</abstract>
                <slug>jcconf-2025-75893-from-the-jdk-21-25-langage-api-jvm-en</slug>
                <track>401</track>
                
                <persons>
                    <person id='75417'>Jose PAUMARD</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/8PBNXM/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/8PBNXM/feedback/</feedback_url>
            </event>
            <event guid='d14bfcbf-c8ec-5e84-a270-9ad618828eb7' id='78348' code='XBXDYR'>
                <room>401</room>
                <title>Break</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T10:25:00+08:00</date>
                <start>10:25</start>
                <duration>00:10</duration>
                <abstract>Break</abstract>
                <slug>jcconf-2025-78348-break</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/XBXDYR/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/XBXDYR/feedback/</feedback_url>
            </event>
            <event guid='ea491feb-beda-58bf-88e7-660b7aa7d469' id='80021' code='XEQMGG'>
                <room>401</room>
                <title>&#23459;&#20659;&#35696;&#31243; - &#23439;&#24237;&#31185;&#25216;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T10:35:00+08:00</date>
                <start>10:35</start>
                <duration>00:05</duration>
                <abstract>&#23439;&#24237;&#31185;&#25216; Microfusion &#26159; Microsoft Infrastructure Partner &#33287; Solution Partner&#65292;&#21516;&#26178;&#20063;&#26159; GitHub &#25480;&#27402;&#37559;&#21806;&#33287;&#25216;&#34899;&#21512;&#20316;&#22821;&#20276;&#12290;&#23560;&#31934;&#26044;&#25552;&#20379;&#19968;&#31449;&#24335;&#38642;&#31471;&#35299;&#27770;&#26041;&#26696;&#65292;&#25793;&#26377;&#23560;&#26989;&#30340;&#26550;&#27083;&#24107;&#12289;&#32173;&#36939;&#22296;&#38538;&#33287;&#25976;&#25818;&#25033;&#29992;&#22296;&#38538;&#65292;&#21332;&#21161;&#23458;&#25142;&#36914;&#34892;&#38642;&#31471;&#36983;&#31227;&#12289;IT &#26550;&#27083;&#29694;&#20195;&#21270;&#12289;&#25976;&#25818;&#20998;&#26512;&#12289;&#38642;&#31471;&#20195;&#31649;&#31561;&#25033;&#29992;&#23566;&#20837;&#33287;&#26368;&#20339;&#21270;&#26381;&#21209;&#12290;

&#27492;&#22806;&#65292;&#23439;&#24237;&#31185;&#25216;&#20063;&#25552;&#20379; GitHub &#20225;&#26989;&#32026;&#35299;&#27770;&#26041;&#26696;&#65292;&#21332;&#21161;&#38283;&#30332;&#22296;&#38538;&#23566;&#20837; DevOps &#33287; AI &#38283;&#30332;&#24037;&#20855;&#65292;&#21152;&#36895;&#36575;&#39636;&#38283;&#30332;&#27969;&#31243;&#12289;&#25552;&#21319;&#22296;&#38538;&#21332;&#20316;&#25928;&#33021;&#12290;&#33267;&#20170;&#24050;&#21332;&#21161;&#22283;&#20839;&#22806;&#36229;&#36942; 2000 &#23478;&#20225;&#26989;&#23436;&#25104;&#25976;&#20301;&#36681;&#22411;&#65292;&#28085;&#33995;&#38646;&#21806;&#12289;&#29289;&#27969;&#12289;&#35069;&#36896;&#12289;&#37329;&#34701;&#12289;&#36938;&#25138;&#12289;&#25945;&#32946;&#33287;&#20844;&#37096;&#38272;&#31561;&#22810;&#20803;&#29986;&#26989;&#38936;&#22495;&#12290;</abstract>
                <slug>jcconf-2025-80021</slug>
                <track>Promotion</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/XEQMGG/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/XEQMGG/feedback/</feedback_url>
            </event>
            <event guid='79b237b8-df24-5789-8c78-4d2f341c4f8e' id='73542' code='RWQKBX'>
                <room>401</room>
                <title>Java 25 LTS in 2025</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T10:40:00+08:00</date>
                <start>10:40</start>
                <duration>00:45</duration>
                <abstract>2025 &#24180;&#65292;&#25105;&#20497;&#36524;&#36898; Java &#24179;&#21488;&#35477;&#29983; 30 &#36913;&#24180;&#30340;&#30427;&#20107;&#65292;&#21516;&#26178;&#20063;&#36814;&#20358;&#20102;&#38364;&#37749;&#30340;&#38263;&#26399;&#25903;&#25588;&#29256;&#26412; Java 25 &#30340;&#30332;&#24067;&#12290;&#26412;&#27425;&#35696;&#31243;&#23559;&#24118;&#38936;&#22823;&#23478;&#19968;&#21516;&#22238;&#39015;&#20006;&#25506;&#35342;&#36889;&#20491;&#25215;&#20808;&#21855;&#24460;&#29256;&#26412;&#25152;&#24118;&#20358;&#30340;&#37325;&#22823;&#35722;&#38761;&#12290;&#20839;&#23481;&#23559;&#28085;&#33995;&#20170;&#24180;&#19978;&#32218;&#30340; Java 24 &#21450; Java 25 &#30340;&#26680;&#24515;&#26032;&#29305;&#24615;&#65292;&#21253;&#21547;&#24392;&#24615;&#24314;&#27083;&#24335;&#20027;&#39636;&#12289;&#39006;&#21029;&#27284;&#26696; API&#12289;&#20018;&#27969;&#32858;&#38598;&#22120;&#12289;&#31684;&#22285;&#20540;&#12289;&#27169;&#32068;&#21295;&#20837;&#23459;&#21578;&#12289;&#31777;&#28500;&#21407;&#22987;&#27284;&#21644;&#23526;&#20363;&#20027;&#26041;&#27861;&#31561;&#31561;&#12290;&#24076;&#26395;&#33021;&#28858;&#36039;&#28145;&#30340; Java &#38283;&#30332;&#32773;&#25552;&#20379;&#19968;&#20221;&#28165;&#26224;&#30340;&#34253;&#22294;&#65292;&#19981;&#20677;&#29702;&#35299;&#26032;&#21151;&#33021;&#30340;&#12300;&#26159;&#20160;&#40636;&#12301;&#33287;&#12300;&#22914;&#20309;&#29992;&#12301;&#65292;&#26356;&#27934;&#24713;&#20854;&#32972;&#24460;&#30340;&#12300;&#28858;&#20160;&#40636;&#12301;&#65292;&#28858;&#19979;&#19968;&#20491;&#19977;&#21313;&#24180;&#30340; Java &#25216;&#34899;&#28436;&#36914;&#22880;&#23450;&#31337;&#22266;&#30340;&#22522;&#30707;&#12290;</abstract>
                <slug>jcconf-2025-73542-java-25-lts-in-2025</slug>
                <track>401</track>
                
                <persons>
                    <person id='73483'>Joseph Kuo</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/RWQKBX/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/RWQKBX/feedback/</feedback_url>
            </event>
            <event guid='e90cdd21-5158-5727-ad19-c7f2120db7c5' id='78350' code='9VA8VX'>
                <room>401</room>
                <title>Break</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T11:25:00+08:00</date>
                <start>11:25</start>
                <duration>00:12</duration>
                <abstract>Break</abstract>
                <slug>jcconf-2025-78350-break</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/9VA8VX/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/9VA8VX/feedback/</feedback_url>
            </event>
            <event guid='2ffe8298-d1fc-525f-90b1-df77eb5b8598' id='80087' code='BX8QSH'>
                <room>401</room>
                <title>&#23459;&#20659;&#35696;&#31243; - JetBrains</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T11:37:00+08:00</date>
                <start>11:37</start>
                <duration>00:03</duration>
                <abstract>-</abstract>
                <slug>jcconf-2025-80087-jetbrains</slug>
                <track>Promotion</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/BX8QSH/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/BX8QSH/feedback/</feedback_url>
            </event>
            <event guid='d362571e-a21d-5814-8429-08bed92983e9' id='79310' code='77YVZM'>
                <room>401</room>
                <title>&#20197; Kotlin &#25171;&#36896; AI Agent&#65306;Koog Agent Framework &#23526;&#25136;&#20837;&#38272;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T11:40:00+08:00</date>
                <start>11:40</start>
                <duration>00:45</duration>
                <abstract>&#38568;&#33879; AI &#25216;&#34899;&#30340;&#36805;&#36895;&#28436;&#36914;&#65292;&#38283;&#30332;&#32773;&#22312;&#25171;&#36896; AI &#25033;&#29992;&#26178;&#65292;&#36234;&#20358;&#36234;&#38656;&#35201;&#19968;&#22871;&#33021;&#25552;&#20379;&#23436;&#25972;&#20803;&#20214;&#12289;&#22810;&#27169;&#22411;&#25972;&#21512;&#33021;&#21147;&#65292;&#20197;&#21450;&#20855;&#39640;&#24230;&#24392;&#24615;&#33287;&#21487;&#25844;&#20805;&#24615;&#30340;&#26550;&#27083;&#12290;&#28858;&#22238;&#25033;&#36889;&#27171;&#30340;&#38656;&#27714;&#65292;JetBrains &#22296;&#38538;&#24310;&#32396;&#19968;&#36011;&#24478;&#23526;&#38555;&#38283;&#30332;&#38656;&#27714;&#20986;&#30332;&#30340;&#31934;&#31070;&#65292;&#25512;&#20986;&#30001; Kotlin &#21407;&#29983;&#25171;&#36896;&#30340; Agent Framework - Koog&#12290;

Koog &#25903;&#25588;&#24478;&#21934;&#36650;&#23565;&#35441;&#30340;&#31777;&#26131;&#20195;&#29702;&#65292;&#21040;&#22810;&#24037;&#20855;&#21332;&#20316;&#30340;&#35079;&#38620;&#24037;&#20316;&#27969;&#31243;&#65292;&#20006;&#36879;&#36942;&#35920;&#23500;&#27169;&#32068;&#33287;&#20778;&#38597;&#30340; Kotlin DSL&#65292;&#35731;&#38283;&#30332;&#32773;&#33021;&#20381;&#23560;&#26696;&#38656;&#27714;&#33258;&#30001;&#32068;&#21512;&#12289;&#24555;&#36895;&#27083;&#24314;&#20855;&#20633;&#20018;&#27969;&#22238;&#25033;&#12289;&#25345;&#20037;&#35352;&#25014;&#31561;&#33021;&#21147;&#30340;&#26234;&#33021;&#20195;&#29702;&#12290;

&#26412;&#22580;&#20998;&#20139;&#23559;&#24478;&#26368;&#22522;&#30990;&#30340;&#23565;&#35441;&#20195;&#29702;&#20837;&#38272;&#65292;&#24118;&#22823;&#23478;&#19968;&#27493;&#27493;&#25171;&#36896;&#31532;&#19968;&#20491; Koog Agent&#65292;&#20006;&#28145;&#20837;&#25506;&#35342; AI &#25033;&#29992;&#38283;&#30332;&#20013;&#24120;&#35211;&#30340;&#25361;&#25136;&#33287;&#23526;&#20316;&#31574;&#30053;&#65292;&#20363;&#22914;&#65306;&#22810; LLM &#20999;&#25563;&#12289;MCP &#25972;&#21512;&#12289;&#35352;&#25014;&#31995;&#32113;&#35373;&#35336;&#33287;&#27511;&#21490;&#22739;&#32302;&#31561;&#12290;&#22914;&#26524;&#20320;&#27491;&#22312;&#23563;&#25214;&#19968;&#22871;&#24375;&#22823;&#19988;&#36028;&#36817; Kotlin &#38283;&#30332;&#32773;&#24605;&#32173;&#30340; Agent Framework&#65292;Koog &#23559;&#26159;&#20540;&#24471;&#38364;&#27880;&#30340;&#26032;&#36984;&#25799;&#12290;</abstract>
                <slug>jcconf-2025-79310-kotlin--ai-agent-koog-agent-framework</slug>
                <track>401</track>
                
                <persons>
                    <person id='72895'>&#33539;&#32854;&#20305;</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/77YVZM/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/77YVZM/feedback/</feedback_url>
            </event>
            <event guid='a6ebc904-5d46-5acd-8bdd-5493479d884c' id='78351' code='MTV9D7'>
                <room>401</room>
                <title>&#127860;Lunch and Break</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T12:25:00+08:00</date>
                <start>12:25</start>
                <duration>00:57</duration>
                <abstract>&#127860;Lunch and Break</abstract>
                <slug>jcconf-2025-78351-lunch-and-break</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/MTV9D7/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/MTV9D7/feedback/</feedback_url>
            </event>
            <event guid='d5bfa446-894b-5b78-a00b-27ad214caa33' id='80088' code='7WSAT9'>
                <room>401</room>
                <title>&#23459;&#20659;&#35696;&#31243; - MySQL</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T13:22:00+08:00</date>
                <start>13:22</start>
                <duration>00:03</duration>
                <abstract>-</abstract>
                <slug>jcconf-2025-80088-mysql</slug>
                <track>Promotion</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/7WSAT9/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/7WSAT9/feedback/</feedback_url>
            </event>
            <event guid='c730be03-307c-5e20-a69b-87948d73ce43' id='72792' code='SKGNMC'>
                <room>401</room>
                <title>&#27861;&#35215;&#25520;&#25520;&#65281;Spring Authorization Server &#30340; OTP &#25972;&#21512;&#24555;&#25915;</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:25:00+08:00</date>
                <start>13:25</start>
                <duration>00:15</duration>
                <abstract>&#22312; OIDC &#30340;&#35469;&#35657;&#27969;&#31243;&#20013;&#65292;&#36879;&#36942;&#23458;&#35069;&#21270; Spring Authorization Server&#65292;&#21152;&#20837;&#31532;&#20108;&#20491;&#35469;&#35657;&#22240;&#23376; (OTP)&#65292;&#20197;&#36948;&#25104;&#37096;&#20998;&#27861;&#35215;&#65292;&#35215;&#31684;&#30331;&#20837;&#26178;&#38656;&#35201; MFA (Multi-factor Authentication) &#35201;&#27714;&#30340;&#24555;&#36895;&#26041;&#26696;&#12290;</abstract>
                <slug>jcconf-2025-72792-spring-authorization-server--otp</slug>
                <track>401</track>
                
                <persons>
                    <person id='72840'>Sam Wang</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/SKGNMC/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/SKGNMC/feedback/</feedback_url>
            </event>
            <event guid='1bcd35f4-3360-5ef2-8fb9-c1279dc94e8e' id='78352' code='GKFHPQ'>
                <room>401</room>
                <title>Break</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:40:00+08:00</date>
                <start>13:40</start>
                <duration>00:05</duration>
                <abstract>Break</abstract>
                <slug>jcconf-2025-78352-break</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/GKFHPQ/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/GKFHPQ/feedback/</feedback_url>
            </event>
            <event guid='be2972d8-1c43-512c-bdd2-44383a7992e0' id='74742' code='HV9QYX'>
                <room>401</room>
                <title>&#29992; Spring AI + OpenAPI &#25844;&#20805; Agent &#33021;&#21147;&#65306;&#35731;&#20320;&#30340; API &#25509;&#19978;&#33258;&#28982;&#35486;&#35328;</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:45:00+08:00</date>
                <start>13:45</start>
                <duration>00:15</duration>
                <abstract>&#24819;&#35731;&#20320;&#30340;&#24460;&#31471; API &#33021;&#34987; AI &#33258;&#28982;&#35486;&#35328;&#39493;&#21205;&#65311;&#26412;&#22580;&#20998;&#20139;&#23559;&#31034;&#31684;&#22914;&#20309;&#32080;&#21512; Spring AI&#12289;OpenAPI Generator &#20197;&#21450; Feign Client&#65292;&#25171;&#36896;&#19968;&#20491;&#33021;&#29702;&#35299;&#35486;&#24847;&#12289;&#36984;&#25799;&#27491;&#30906; API &#21628;&#21483;&#12289;&#20006;&#22238;&#25033;&#20351;&#29992;&#32773;&#38656;&#27714;&#30340;&#26234;&#24935;&#21161;&#25163;&#12290;

&#20320;&#23559;&#26371;&#30475;&#21040;&#22914;&#20309;&#35731; AI agent &#29702;&#35299; OpenAPI &#23450;&#32681;&#12289;&#33258;&#21205;&#20018;&#25509; Feign client &#25104;&#28858;&#21487;&#22519;&#34892;&#24037;&#20855;&#65292;&#20006;&#36879;&#36942; Spring AI agent &#27231;&#21046;&#35731;&#36889;&#20123;&#24037;&#20855;&#33021;&#34987;&#35486;&#35328;&#27169;&#22411;&#26377;&#25928;&#35519;&#24230;&#12290;

&#28961;&#38656;&#23416; LangChain&#65292;&#20063;&#19981;&#38656;&#35201;&#38989;&#22806;&#24314;&#27169;&#30693;&#35672;&#65292;&#36889;&#27425;&#25105;&#20497;&#23560;&#27880;&#26044;&#12300;&#29992;&#29087;&#24713;&#30340; Spring &#29983;&#24907;&#65292;&#20570;&#20986;&#33021;&#30495;&#30340;&#33853;&#22320;&#30340; AI &#21161;&#29702;&#12301;&#65292;&#35731;&#20320;&#30340; API &#30452;&#25509;&#25509;&#19978;&#33258;&#28982;&#35486;&#35328;&#65292;&#23526;&#29694; API as Copilot &#30340;&#39000;&#26223;&#12290;</abstract>
                <slug>jcconf-2025-74742-spring-ai-openapi--agent---api</slug>
                <track>401</track>
                
                <persons>
                    <person id='72450'>&#38515;&#20896;&#32239;</person><person id='74423'>Samson</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/HV9QYX/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/HV9QYX/feedback/</feedback_url>
            </event>
            <event guid='aab5801f-16d1-52ae-a796-56e2e118b35a' id='78353' code='PSLV3R'>
                <room>401</room>
                <title>Break</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T14:00:00+08:00</date>
                <start>14:00</start>
                <duration>00:07</duration>
                <abstract>Break</abstract>
                <slug>jcconf-2025-78353-break</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/PSLV3R/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/PSLV3R/feedback/</feedback_url>
            </event>
            <event guid='fe2e8d0f-ca37-5247-9272-c212fc2ea834' id='80089' code='MW8SZH'>
                <room>401</room>
                <title>&#23459;&#20659;&#35696;&#31243; - TSMC</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T14:07:00+08:00</date>
                <start>14:07</start>
                <duration>00:03</duration>
                <abstract>-</abstract>
                <slug>jcconf-2025-80089-tsmc</slug>
                <track>Promotion</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/MW8SZH/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/MW8SZH/feedback/</feedback_url>
            </event>
            <event guid='75b2b7f1-7087-5f80-8f7e-3f5e9c3d8af1' id='74633' code='KHJHAG'>
                <room>401</room>
                <title>JVM &#20839;&#37096;&#27231;&#21046;&#65306;AI &#24037;&#20316;&#36000;&#36617;&#30340; GC &#35519;&#26657;&#33287;&#35352;&#25014;&#39636;&#20778;&#21270;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T14:10:00+08:00</date>
                <start>14:10</start>
                <duration>00:45</duration>
                <abstract>&#38568;&#33879; AI &#25033;&#29992;&#30340;&#26222;&#21450;&#65292;Java &#31995;&#32113;&#38754;&#33256;&#21069;&#25152;&#26410;&#26377;&#30340;&#35352;&#25014;&#39636;&#25361;&#25136;&#65306;10GB+ &#30340;&#27169;&#22411;&#36617;&#20837;&#12289;&#25976;&#21313;&#33836;&#20491;&#21521;&#37327;&#29289;&#20214;&#12289;&#36899;&#32396;&#30340;&#22823;&#22411;&#38499;&#21015;&#25805;&#20316;&#12290;&#33287;&#27492;&#21516;&#26178;&#65292;2023-2025&#24180;&#35211;&#35657;&#20102; Java GC &#30340;&#12300;&#20998;&#20195;&#38761;&#21629;&#12301;&#65306;Generational ZGC &#23436;&#25104;&#27511;&#21490;&#24615;&#36681;&#22411;&#12289;Shenandoah &#21363;&#23559;&#21152;&#20837;&#20998;&#20195;&#38499;&#29151;&#12289;Compact Object Headers &#38283;&#21855;&#35352;&#25014;&#39636;&#26032;&#32000;&#20803;&#12290;

&#26412;&#35696;&#31243;&#23559;&#28145;&#20837;&#35299;&#26512;&#36889;&#22580; GC &#38761;&#21629;&#23565; AI &#24037;&#20316;&#36000;&#36617;&#30340;&#24433;&#38911;&#65292;&#24478; Netflix &#30340;&#25976;&#21315;&#24494;&#26381;&#21209; ZGC &#37096;&#32626;&#21040; Apache Cassandra &#30340; 4 &#20493;&#25928;&#33021;&#31361;&#30772;&#65292;&#24478;&#23526;&#39511;&#23460;&#30340;&#25216;&#34899;&#21109;&#26032;&#21040;&#29983;&#29986;&#29872;&#22659;&#30340;&#23526;&#38555;&#25033;&#29992;&#12290;&#36879;&#36942;&#26368;&#26032;&#30340;&#22522;&#28310;&#28204;&#35430;&#21644;&#20225;&#26989;&#26696;&#20363;&#65292;&#28858; Java AI &#25033;&#29992;&#25552;&#20379; 2025 &#24180;&#26368;&#21069;&#27839;&#30340;&#35519;&#20778;&#31574;&#30053;&#12290;</abstract>
                <slug>jcconf-2025-74633-jvm--ai--gc</slug>
                <track>401</track>
                
                <persons>
                    <person id='74353'>Jiayun Zhou</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/KHJHAG/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/KHJHAG/feedback/</feedback_url>
            </event>
            <event guid='0ffc84e3-7d27-5540-902a-39df8ae9e14f' id='78354' code='KPLLZB'>
                <room>401</room>
                <title>Break</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T14:55:00+08:00</date>
                <start>14:55</start>
                <duration>00:07</duration>
                <abstract>Break</abstract>
                <slug>jcconf-2025-78354-break</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/KPLLZB/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/KPLLZB/feedback/</feedback_url>
            </event>
            <event guid='10c578e4-74b8-5ead-bc86-6d141fb60459' id='80090' code='TUT8U9'>
                <room>401</room>
                <title>&#23459;&#20659;&#35696;&#31243; - &#34903;&#21475;&#25903;&#20184;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T15:02:00+08:00</date>
                <start>15:02</start>
                <duration>00:03</duration>
                <abstract>-</abstract>
                <slug>jcconf-2025-80090</slug>
                <track>Promotion</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/TUT8U9/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/TUT8U9/feedback/</feedback_url>
            </event>
            <event guid='15316352-7305-5426-80dc-032dbdd4ce58' id='71879' code='UEELRJ'>
                <room>401</room>
                <title>Java Beyond Frameworks: Avoiding Lock-In with Agnostic Design (EN)</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T15:05:00+08:00</date>
                <start>15:05</start>
                <duration>00:45</duration>
                <abstract>The Problem: Modern Java applications often become prisoners of their frameworks. While tools like Spring Boot and Quarkus accelerate development, they create hidden costs: vendor lock-in, bloated dependencies and rigid architectures. What happens when your project outgrows your framework or a new, better tool emerges?

The Solution: This talk introduces a layered approach to Java development, isolating framework dependencies while keeping core logic pure with Java and Jakarta EE. Through examples, you&#8217;ll see:
- How to decouple business logic using JSR standards
- Strategies to replace framework-specific annotations
- Cloud integration without framework coupling.

Trade-Offs: Yes, this demands more upfront effort like writing custom persistence layers, rigorous tests, and meticulous docs. But the payoff is code that&#8217;s adaptable, testable, and maintainable across frameworks, teams and decades.

Key Takeaways:
- Practical patterns for agnostic design.
- When (and when not) to adopt this approach.

Join me to rethink Java development: less framework magic, more future-proof code.</abstract>
                <slug>jcconf-2025-71879-java-beyond-frameworks-avoiding-lock-in-with-agnostic-design-en</slug>
                <track>401</track>
                
                <persons>
                    <person id='71977'>Rijo Sam</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/UEELRJ/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/UEELRJ/feedback/</feedback_url>
            </event>
            <event guid='a4e039da-ad36-5266-9641-12af71db5203' id='78355' code='QGPDVZ'>
                <room>401</room>
                <title>&#9749; Tea Time</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T15:50:00+08:00</date>
                <start>15:50</start>
                <duration>00:27</duration>
                <abstract>&#9749; Tea Time</abstract>
                <slug>jcconf-2025-78355-tea-time</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/QGPDVZ/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/QGPDVZ/feedback/</feedback_url>
            </event>
            <event guid='b197efc2-9be3-53dd-8a7c-93b14b908d50' id='80091' code='PFTFUV'>
                <room>401</room>
                <title>&#23459;&#20659;&#35696;&#31243; - &#22283;&#27888;&#37329;&#25511;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T16:17:00+08:00</date>
                <start>16:17</start>
                <duration>00:03</duration>
                <abstract>-</abstract>
                <slug>jcconf-2025-80091</slug>
                <track>Promotion</track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/PFTFUV/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/PFTFUV/feedback/</feedback_url>
            </event>
            <event guid='8e67a957-6403-5853-8fd6-06a296ae9039' id='79861' code='GNA3AF'>
                <room>401</room>
                <title>&#22750;&#20102;&#65292;&#31995;&#32113;&#30332;&#29983;&#37679;&#35492;&#20102;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T16:20:00+08:00</date>
                <start>16:20</start>
                <duration>00:45</duration>
                <abstract>&#30070;&#23436;&#25104;&#20102;&#19968;&#20491;&#21151;&#33021;&#30340;&#38283;&#30332;&#20294;&#21371;&#30332;&#29983;&#20102;&#24847;&#26009;&#20043;&#22806;&#30340;&#37679;&#35492;&#65292;&#38500;&#20102;&#37325;&#26032;&#26803;&#29702;&#38656;&#27714;&#20839;&#23481;&#12289;&#33287;&#20351;&#29992;&#32773;&#35342;&#35542;&#20363;&#22806;&#24773;&#22659;&#12289;&#35036;&#20805;&#28204;&#35430;&#26696;&#20363;&#33287;&#22312;&#31243;&#24335;&#20013;&#21152;&#20837; try catch&#65292;&#25105;&#20497;&#36996;&#33021;&#20570;&#20123;&#20160;&#40636;&#65311;
&#30070;&#31995;&#32113;&#24478;&#21934;&#39636;(monolithic)&#36880;&#28472;&#30340;&#38263;&#22823;&#65292;&#36914;&#32780;&#25286;&#20998;&#25104;&#24494;&#26381;&#21209;(microservices)&#65292;&#24478;&#20351;&#29992;&#20989;&#24335;&#24235;&#21040;&#23566;&#20837;&#20013;&#38291;&#20214;(middleware)&#31561;&#65292;&#22312;&#36889;&#20123;&#36942;&#31243;&#20013;&#25105;&#20497;&#38656;&#35201;&#24590;&#40636;&#34389;&#29702;&#37679;&#35492;&#30340;&#21839;&#38988;&#65311;

&#26412;&#27425;&#20998;&#20139;&#20839;&#23481;&#20006;&#19981;&#26371;&#23560;&#27880;&#22312;&#26576;&#19968;&#29305;&#23450;&#20803;&#20214;&#12289;&#20989;&#24335;&#24235;&#30340;&#20351;&#29992;&#25110;&#31243;&#24335;&#25033;&#22914;&#20309;&#25776;&#23531;&#65292;&#25105;&#20497;&#26371;&#24448;&#26550;&#27083;&#23652;&#32026;&#12289;&#35373;&#35336;&#27770;&#31574;&#36914;&#34892;&#20998;&#20139;&#12289;&#35342;&#35542;&#33287;&#24605;&#32771;&#65292;
&#20998;&#20139;&#30340;&#20839;&#23481;&#26371;&#22285;&#32350;&#22312;&#22914;&#20309;&#30906;&#23526;&#30340;&#23436;&#25104;&#19968;&#20491;&#26989;&#21209;&#27969;&#31243;&#65292;&#20760;&#21487;&#33021;&#30340;&#36991;&#20813;&#30332;&#29983;&#37679;&#35492;&#24460;&#23566;&#33268;&#30340;&#19968;&#31995;&#21015;&#28797;&#38627;</abstract>
                <slug>jcconf-2025-79861</slug>
                <track>401</track>
                
                <persons>
                    <person id='80752'>Steven Wang</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/GNA3AF/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/GNA3AF/feedback/</feedback_url>
            </event>
            <event guid='49206422-bdd9-52e0-b856-75a232a08f54' id='78356' code='QNZAY9'>
                <room>401</room>
                <title>Break</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T17:05:00+08:00</date>
                <start>17:05</start>
                <duration>00:10</duration>
                <abstract>Break</abstract>
                <slug>jcconf-2025-78356-break</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/QNZAY9/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/QNZAY9/feedback/</feedback_url>
            </event>
            <event guid='792c3141-a810-5e02-a639-4522ee98cc7a' id='78184' code='QA9GRR'>
                <room>401</room>
                <title>&#30070;&#28204;&#35430;&#25104;&#28858;&#38283;&#30332;&#29942;&#38968;&#65306;&#28145;&#20837; Spring Boot Test &#35519;&#25945;&#23526;&#25136; (NO REC)</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T17:15:00+08:00</date>
                <start>17:15</start>
                <duration>00:45</duration>
                <abstract>&#22312;&#29986;&#21697;&#38283;&#30332;&#36942;&#31243;&#20013;&#65292;&#25105;&#20497;&#30340;&#24460;&#31471;&#21151;&#33021;&#36234;&#20358;&#36234;&#35920;&#23500;&#65292;&#21934;&#20803;&#28204;&#35430;&#20063;&#36234;&#23531;&#36234;&#22810;&#65292;&#20294;&#20276;&#38568;&#32780;&#20358;&#30340;&#26159;&#20841;&#20491;&#30171;&#40670;&#65306;

1. &#28204;&#35430;&#31890;&#24230;&#22826;&#32048;&#65292;&#27599;&#27425;&#37325;&#27083;&#12289;&#26550;&#27083;&#35519;&#25972;&#37117;&#35722;&#24471;&#23544;&#27493;&#38627;&#34892;
2. 2000+ &#20491;&#28204;&#35430;&#38656;&#35201;&#36305; 10+ &#20998;&#37912;&#65292;CI/CD &#27969;&#31243;&#35722;&#25104;&#20102;&#28459;&#38263;&#30340;&#31561;&#24453;

&#28204;&#35430;&#26412;&#35442;&#26159;&#38283;&#30332;&#30340;&#21161;&#21147;&#65292;&#28858;&#20309;&#21371;&#25104;&#28858;&#26368;&#22823;&#30340;&#38459;&#31001;&#65311;
&#36889;&#26159;&#19968;&#20491;&#22312;&#22256;&#22659;&#20013;&#31361;&#30772;&#37325;&#22285;&#30340;&#23526;&#25136;&#25925;&#20107;&#65292;&#20998;&#20139;&#25105;&#20497;&#22914;&#20309;&#37325;&#26032;&#24605;&#32771;&#28204;&#35430;&#31574;&#30053;&#65292;&#35731;&#28204;&#35430;&#26550;&#27083;&#33067;&#32974;&#25563;&#39592;&#65292;&#20006;&#28145;&#20837; Spring Boot Test &#21407;&#29702;&#65292;&#25214;&#21040;&#25928;&#33021;&#20778;&#21270;&#30340;&#38364;&#37749;&#12290;</abstract>
                <slug>jcconf-2025-78184-spring-boot-test--no-rec</slug>
                <track>401</track>
                
                <persons>
                    <person id='79249'>Abi Chang</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/QA9GRR/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/QA9GRR/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='402AB' guid='4e2539d4-e2f0-57eb-8474-a8dd0c6e061e'>
            <event guid='41cba5ee-68ad-5829-aafa-96401ee52c04' id='74752' code='XMRGXA'>
                <room>402AB</room>
                <title>Spring Boot &#215; QueryDSL &#215; GraphQL&#65306;&#25171;&#36896;&#24392;&#24615;&#21448;&#23433;&#20840;&#30340;&#20225;&#26989;&#32026;&#21205;&#24907;&#26597;&#35426; API</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T10:40:00+08:00</date>
                <start>10:40</start>
                <duration>00:45</duration>
                <abstract>1. &#28858;&#20160;&#40636;&#20225;&#26989;&#26597;&#35426; API &#38656;&#35201;&#12300;&#21205;&#24907;&#26597;&#35426;&#12301;&#33287;&#12300;&#27396;&#20301;&#27402;&#38480;&#12301;&#65311;
&#26989;&#21209;&#37096;&#38272;&#12289;&#36039;&#26009;&#20998;&#26512;&#24107;&#12289;IT &#22296;&#38538;&#30340;&#22810;&#20803;&#26597;&#35426;&#38656;&#27714;
&#24120;&#35211;&#30340;&#26597;&#35426;&#30171;&#40670;&#65306;&#36942;&#24230;&#20381;&#36084;&#22810;&#32068;&#22266;&#23450; API&#12289;&#26781;&#20214;&#32068;&#21512;&#24392;&#24615;&#24046;&#12289;&#27396;&#20301;&#22806;&#27945;&#39080;&#38570;
&#27402;&#38480;&#25511;&#31649;&#25361;&#25136;&#65306;&#19981;&#21516;&#35282;&#33394;&#12289;&#37096;&#38272;&#12289;&#31995;&#32113;&#38291;&#23565;&#36039;&#26009;&#23384;&#21462;&#30340;&#35079;&#38620;&#35215;&#21063;

2. &#25216;&#34899;&#36984;&#22411;&#33287;&#26550;&#27083;&#35373;&#35336;
&#28858;&#20309;&#36984;&#25799; QueryDSL&#65311;&#23427;&#22312;&#21205;&#24907;&#26597;&#35426;&#12289;&#39006;&#22411;&#23433;&#20840;&#19978;&#30340;&#20778;&#21218;
GraphQL &#30340;&#24392;&#24615;&#26597;&#35426;&#33287;&#27396;&#20301;&#35009;&#20999; (projection) &#29305;&#24615;
&#32080;&#21512; Spring Boot + QueryDSL + GraphQL &#26550;&#27083;&#22294;
&#20659;&#32113; REST API vs. GraphQL &#26597;&#35426; API&#65306;&#32173;&#35703;&#33287;&#25844;&#23637;&#24615;&#30340;&#27604;&#36611;

3. QueryDSL &#23526;&#20316;&#21205;&#24907;&#26597;&#35426;&#30340;&#38364;&#37749;&#25216;&#24039;
&#29992; PredicateBuilder &#21205;&#24907;&#32068;&#21512;&#26781;&#20214; (AND/OR&#12289;IN&#12289;LIKE &#31561;)
&#25903;&#25588;&#35079;&#38620;&#26597;&#35426;&#35486;&#24847;&#65288;&#21312;&#38291;&#12289;&#27169;&#31946;&#12289;&#32879;&#38598;&#12289;&#22810;&#34920; Join&#65289;
&#24590;&#40636;&#20445;&#25345;&#26597;&#35426;&#25928;&#33021;&#33287;&#26131;&#32173;&#35703;&#24615;
&#33287; JPA&#12289;Spring Data &#30340;&#25972;&#21512;&#32147;&#39511;

4. GraphQL &#23526;&#29694;&#24392;&#24615;&#26597;&#35426;&#33287;&#27396;&#20301;&#27402;&#38480;&#25511;&#31649;
Schema &#35373;&#35336;&#65306;&#22914;&#20309;&#35373;&#35336; Query/Mutation&#65292;&#25903;&#25588;&#21205;&#24907;&#27396;&#20301;&#36984;&#25799;
&#36039;&#26009;&#22238;&#20659;&#27396;&#20301;&#21205;&#24907;&#32068;&#35037; (Resolver)
&#27402;&#38480;&#39511;&#35657;&#27231;&#21046;&#65306;&#33258;&#35330; Directive&#12289;Context&#12289;DataFetcher &#23652;&#32026;&#30340;&#27402;&#38480;&#21028;&#26039;
&#27396;&#20301;&#25935;&#24863;&#36039;&#26009;&#36974;&#34109;&#12289;&#21205;&#24907;&#36942;&#28670;&#65288;&#22914;&#21482;&#35731;&#29305;&#23450;&#35282;&#33394;&#30475;&#35211;&#29305;&#23450;&#27396;&#20301;&#65289;

5. &#27402;&#38480;&#25511;&#31649;&#26694;&#26550;&#25972;&#21512;
&#27402;&#38480;&#36039;&#26009;&#20358;&#28304;&#35373;&#35336;&#65288;OAuth claim &#65289;
&#27402;&#38480;&#27298;&#26597;&#27969;&#31243;&#65306;Request &gt; GraphQL Context &gt; Data Fetcher/Resolver &gt; Entity &#27396;&#20301;
&#23526;&#20316;&#32048;&#31680;&#33287;&#24120;&#35211;&#27402;&#38480;&#28431;&#27934;&#38450;&#31684;

6. &#32173;&#36939;&#33287;&#25928;&#33021;&#32771;&#37327;
&#22823;&#37327;&#26597;&#35426;&#19979;&#30340;&#25928;&#33021;&#20778;&#21270;&#65288;N+1 &#21839;&#38988;&#12289;&#20998;&#38913;&#35373;&#35336;&#12289;&#25209;&#27425;&#26597;&#35426;&#65289;
&#30435;&#25511;&#33287;&#31293;&#26680;&#65306;&#22914;&#20309;&#35352;&#37636; API &#26597;&#35426;&#34892;&#28858;&#65292;&#26041;&#20415;&#20107;&#24460;&#31293;&#26680;&#21450;&#36861;&#36452;</abstract>
                <slug>jcconf-2025-74752-spring-boot-querydsl-graphql--api</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='74430'>&#26041;&#26161;&#20625; (Archie)</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/XMRGXA/resources/Archie_JCConf__ByqaLni.pdf">Slide</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/XMRGXA/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/XMRGXA/feedback/</feedback_url>
            </event>
            <event guid='0a51cd18-957c-5b4b-8b39-de15c32f3a86' id='75548' code='YYHHLP'>
                <room>402AB</room>
                <title>&#29992; Kotlin &#38283;&#30332;&#21363;&#26377; Java &#23560;&#26696;&#30340;&#27511;&#31243;&#19977;&#38542;&#27573;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T11:40:00+08:00</date>
                <start>11:40</start>
                <duration>00:45</duration>
                <abstract>Kotlin &#19981;&#21482;&#26159;&#34892;&#21205;&#31471;&#38283;&#30332;&#30340;&#21033;&#22120;&#12290;&#20854;&#29694;&#20195;&#21270;&#29305;&#24615;&#21644;&#21331;&#36234;&#30340;&#34920;&#36948;&#24615;&#20134;&#24471;&#21040;&#35377;&#22810;&#24460;&#31471;&#38283;&#30332;&#32773;&#30340;&#25505;&#29992;&#12290;&#26412;&#27425;&#23559;&#20998;&#20139;&#20491;&#20154;&#22312;&#20844;&#21496;&#20839;&#25512;&#21205;&#29992; Kotlin &#38283;&#30332; legacy Java &#23560;&#26696;&#30340;&#24515;&#24471;&#20998;&#20139;&#12290;&#25226; Java Developer &#36914;&#20837; Kotlin &#27511;&#31243;&#30340;&#20998;&#25104;&#19977;&#38542;&#27573; 1) &#29992; Kotlin &#23531; Test Case 2) &#23531;&#30340;&#20687; Java &#30340; Kotlin 3) &#23531;&#30340;&#20687; Kotlin &#30340; Kotlin &#12290;&#32317;&#32080;&#21508;&#38542;&#27573;&#21487;&#33021;&#36935;&#21040;&#30340;&#25361;&#25136;&#33287; Tips.</abstract>
                <slug>jcconf-2025-75548-kotlin--java</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='75088'>Brandy Chang</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/YYHHLP/resources/JCConf_2025_-__o2Mc3OY.pdf">&#31777;&#22577;&#21021;&#31295;</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/YYHHLP/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/YYHHLP/feedback/</feedback_url>
            </event>
            <event guid='2f98852f-ee91-5b66-afe0-cd23d5d894da' id='72810' code='RU3SL9'>
                <room>402AB</room>
                <title>&#24478;&#26694;&#26550;&#21040;&#20154;&#25165;&#65306; Java &#38283;&#30332;&#23526;&#36368;&#33287;&#24037;&#31243;&#24107;&#20154;&#25165;&#39178;&#25104;</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:25:00+08:00</date>
                <start>13:25</start>
                <duration>00:15</duration>
                <abstract>&#38754;&#23565;&#25976;&#20301;&#37329;&#34701;&#21152;&#36895;&#30332;&#23637;&#33287;&#20154;&#25165;&#22521;&#39178;&#30340;&#38617;&#37325;&#25361;&#25136;&#65292;&#20225;&#26989; IT &#37096;&#38272;&#30340;&#26680;&#24515;&#35506;&#38988;&#24050;&#36681;&#21521;&#25171;&#36896;&#29694;&#20195;&#21270;&#38283;&#30332;&#29872;&#22659;&#12289;&#25903;&#25588;&#38642;&#31471;&#26550;&#27083;&#65292;&#20006;&#20840;&#38754;&#25552;&#21319;&#22296;&#38538;&#25136;&#21147;&#12290;&#36817;&#24180;&#20358;&#65292;&#25105;&#20497;&#31309;&#26997;&#25512;&#21205;&#20840;&#31471;&#38283;&#30332;&#27161;&#28310;&#21270;&#33287;&#33258;&#21161;&#38283;&#30332;&#24037;&#20855;&#30340;&#33853;&#22320;&#25033;&#29992;&#65292;&#33268;&#21147;&#26044;&#25171;&#36896;&#19968;&#22871;&#38598;&#26694;&#26550;&#24314;&#32622;&#12289;&#24037;&#20855;&#25972;&#21512;&#12289;&#38283;&#30332;&#32773;&#24179;&#21488;&#21450;&#20154;&#25165;&#22521;&#32946;&#36335;&#24465;&#26044;&#19968;&#36523;&#30340;&#29694;&#20195;&#21270;&#38283;&#30332;&#27169;&#24335;&#12290;&#26412;&#27425;&#20998;&#20139;&#23559;&#32858;&#28966;&#26044;&#19978;&#36848;&#22235;&#22823;&#25512;&#21205;&#37325;&#40670;&#65292;&#28145;&#20837;&#21078;&#26512;&#22914;&#20309;&#22312;&#37329;&#34701;&#26989;&#33853;&#23526;&#23481;&#22120;&#21270;&#38642;&#31471;&#38283;&#30332;&#27161;&#28310;&#12289;&#21332;&#21161;&#22296;&#38538;&#25552;&#21319;&#29983;&#29986;&#21147;&#33287;&#36575;&#39636;&#21697;&#36074;&#65292;&#36914;&#32780;&#28858;&#32068;&#32340;&#24118;&#20358;&#38263;&#26399;&#21109;&#26032;&#33287;&#27704;&#32396;&#30332;&#23637;&#12290;


&#19968;&#12289;&#25171;&#36896;CUB-SDK&#38283;&#30332;&#26694;&#26550;
&#25105;&#20497;&#20197;Java&#28858;&#26680;&#24515;&#25216;&#34899;&#65292;&#20027;&#23566;&#24314;&#27083;&#34892;&#20839;&#23560;&#23660;&#30340;&#12300;CUB-SDK&#12301;&#38283;&#30332;&#26694;&#26550;&#65292;&#33268;&#21147;&#26044;&#25552;&#20379;&#38283;&#31665;&#21363;&#29992;&#30340;&#26550;&#27083;&#35373;&#35336;&#65292;&#35731;&#21516;&#20161;&#33021;&#23560;&#27880;&#26044;&#26989;&#21209;&#37007;&#36655;&#38283;&#30332;&#65292;&#21516;&#26178;&#32113;&#19968;&#23433;&#20840;&#24615;&#20462;&#27491;&#65292;&#20813;&#38500;&#29256;&#26412;&#25972;&#21512;&#33287;&#24369;&#40670;&#20462;&#27491;&#30340;&#22256;&#25854;&#65292;&#20006;&#25345;&#32396;&#24341;&#20837;&#26368;&#26032;&#21151;&#33021;&#33287;&#26368;&#20339;&#23526;&#36368;&#65292;&#24050;&#25104;&#28858;&#36039;&#35338;&#37096;&#38272;Java&#24494;&#26381;&#21209;&#23481;&#22120;&#21270;&#38283;&#30332;&#30340;&#27161;&#28310;&#35215;&#26684;&#12290;CUB-SDK&#19981;&#20677;&#38477;&#20302;&#22296;&#38538;&#38283;&#30332;&#38272;&#27323;&#65292;&#26356;&#30906;&#20445;&#31243;&#24335;&#30908;&#21697;&#36074;&#12289;&#36039;&#35338;&#23433;&#20840;&#33287;&#24179;&#21488;&#30435;&#25511;&#30340;&#19968;&#33268;&#24615;&#65292;&#20006;&#25552;&#20379;&#25345;&#32396;&#30340;&#25216;&#34899;&#21806;&#24460;&#26381;&#21209;&#65292;&#21332;&#21161;&#21508;&#23560;&#26696;&#22296;&#38538;&#36805;&#36895;&#23566;&#20837;&#12289;&#32173;&#25345;&#26368;&#20339;&#23526;&#36368;&#12290;

&#20108;&#12289;&#23566;&#20837;&#38283;&#30332; AI &#21161;&#25163;&#33287;&#26234;&#24935;&#24037;&#20855;
&#25105;&#20497;&#31309;&#26997;&#23566;&#20837; GitHub Copilot &#31561; AI &#38283;&#30332;&#21161;&#25163; &#65292;&#20006;&#33258;&#30740;&#12300;CUB Genie&#12301;AI &#21161;&#25163;&#65292;&#21332;&#21161;&#38283;&#30332;&#20154;&#21729;&#36914;&#34892;&#31243;&#24335;&#30908;&#24314;&#35696;&#12289;&#33258;&#21205;&#29986;&#29983;&#21934;&#20803;&#28204;&#35430;&#65292;&#36914;&#32780;&#20778;&#21270;&#38283;&#30332;&#25928;&#29575;&#33287;&#31243;&#24335;&#21697;&#36074;&#12290;&#36889;&#20123;&#24037;&#20855;&#19981;&#20677;&#38477;&#20302;&#26032;&#25163;&#38272;&#27323;&#65292;&#20063;&#33021;&#22312;&#22296;&#38538;&#20013;&#25512;&#24291;&#29694;&#20195; AI &#21332;&#21516;&#31243;&#24335;&#35373;&#35336;&#27169;&#24335;&#65292;&#36914;&#19968;&#27493;&#25552;&#21319;&#30740;&#30332;&#33021;&#37327;&#33287;&#24037;&#31243;&#24107;&#30340;&#32887;&#28079;&#30332;&#23637;&#12290;


&#19977;&#12289;&#24314;&#32622;&#38283;&#30332;&#32773;&#33258;&#21161;&#24179;&#21488;
&#25105;&#20497;&#23559;SonarQube&#12289;JFrog&#31561;&#24037;&#20855;&#25972;&#21512;&#33267;CI/CD&#27969;&#31243;&#20013;&#65292;&#20006;&#24314;&#27083;&#19968;&#20491;&#38283;&#30332;&#32773;&#33258;&#21161;&#24179;&#21488;&#65292;&#20379;&#23560;&#26696;&#25104;&#21729;&#21363;&#26178;&#23529;&#26597;&#12289;&#36861;&#36452;&#21697;&#36074;&#36039;&#35338;&#65292;&#20027;&#21205;&#30332;&#29694;&#25216;&#34899;&#20661;&#33287;&#28507;&#22312;&#39080;&#38570;&#65292;&#36914;&#32780;&#23526;&#36368;&#21697;&#36074;&#21487;&#35222;&#21270;&#33287;&#25935;&#25463;&#22238;&#39243;&#24490;&#29872;&#12290;&#26356;&#36914;&#19968;&#27493;&#65292;&#38283;&#30332;&#32773;&#33258;&#21161;&#24179;&#21488;&#20063;&#25972;&#21512;&#20102;CUB-SDK&#31243;&#24335;&#30908;&#29986;&#29983;&#22120;&#12289;&#24120;&#35211;&#31243;&#24335;&#27161;&#28310;&#21270;&#31684;&#20363;&#33287;&#26694;&#26550;&#25033;&#29992;&#25351;&#24341;&#65292;&#21332;&#21161;&#38283;&#30332;&#22296;&#38538;&#33021;&#24555;&#36895;&#23566;&#20837;&#26368;&#20339;&#23526;&#36368;&#12289;&#28187;&#23569;&#28317;&#36890;&#33287;&#20132;&#20184;&#25104;&#26412;&#12290;&#27492;&#24179;&#21488;&#25104;&#28858;&#21508;&#37096;&#38272;&#21332;&#20316;&#12289;&#30693;&#35672;&#20132;&#27969;&#33287;&#27161;&#28310;&#25512;&#24291;&#30340;&#37325;&#35201;&#22580;&#22495;&#65292;&#21152;&#36895;&#25972;&#39636;&#25216;&#34899;&#21319;&#32026;&#12290;

&#22235;&#12289;&#22521;&#32946;IT&#35282;&#33394;&#20154;&#25165;&#26799;&#38538;

&#25105;&#20497;&#19981;&#20677;&#23560;&#27880;&#26044;&#25216;&#34899;&#21109;&#26032;&#65292;&#26356;&#24478;&#38598;&#22296;&#23652;&#32026;&#25512;&#21205;Java&#20840;&#31471;&#24037;&#31243;&#24107;&#30340;&#38263;&#26399;&#22521;&#39178;&#35336;&#30059;&#12290;&#36879;&#36942;&#31309;&#26997;&#21560;&#24341;&#26032;&#39854;&#20154;&#33287;&#38750;&#36039;&#35338;&#26412;&#31185;&#29983;&#21152;&#20837;&#22296;&#38538;&#65292;&#25645;&#37197;&#20839;&#37096;&#35347;&#32244;&#33287;&#23560;&#26696;&#23526;&#25136;&#65292;&#21332;&#21161;&#24037;&#31243;&#24107;&#24478;Programmer&#36880;&#27493;&#26185;&#21319;System Design&#12289;System Analyst&#12289;SRE&#25110;DevOps&#31561;&#32887;&#20301;&#65292;&#23526;&#36368;&#36328;&#38936;&#22495;T&#22411;&#20154;&#25165;&#39178;&#25104;&#65292;&#36914;&#32780;&#25171;&#36896;&#32068;&#32340;&#25935;&#25463;&#36681;&#22411;&#30340;&#22533;&#23526;&#24213;&#34314;&#12290;&#36889;&#19968;&#22871;&#36335;&#24465;&#35373;&#35336;&#65292;&#20351;&#38283;&#30332;&#22296;&#38538;&#33021;&#22240;&#25033;&#37329;&#34701;&#25976;&#20301;&#36681;&#22411;&#19979;&#30340;&#24555;&#36895;&#38656;&#27714;&#35722;&#38761;&#65292;&#20006;&#25345;&#32396;&#27880;&#20837;&#21109;&#26032;&#33021;&#37327;&#12290;


&#26412;&#22580;&#20998;&#20139;&#23559;&#20197;&#30495;&#23526;&#26696;&#20363;&#35299;&#26512;&#19978;&#36848;&#22235;&#22823;&#23526;&#36368;&#65292;&#20006;&#20998;&#20139;&#22823;&#22411;&#37329;&#34701;&#32068;&#32340;&#20013;&#25512;&#21205;&#25216;&#34899;&#21109;&#26032;&#12289;&#27969;&#31243;&#25972;&#21512;&#12289;&#20154;&#25165;&#36681;&#22411;&#30340;&#20855;&#39636;&#25361;&#25136;&#33287;&#25910;&#31339;&#12290;&#26399;&#24453;&#34249;&#27492;&#33287;Java&#31038;&#32676;&#22821;&#20276;&#20132;&#27969;&#65292;&#20849;&#21516;&#25512;&#21205;&#20225;&#26989;&#25976;&#20301;&#21109;&#26032;&#33287;&#38283;&#30332;&#32773;&#25104;&#38263;&#12290;</abstract>
                <slug>jcconf-2025-72810-java</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='72872'>alansid</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/RU3SL9/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/RU3SL9/feedback/</feedback_url>
            </event>
            <event guid='700992da-56c7-578e-a62b-05bc33fbabf4' id='72708' code='VEAF7U'>
                <room>402AB</room>
                <title>&#25171;&#36896;&#20320;&#23560;&#23660;&#30340; IntelliJ Plugin&#65306;&#24478;&#38646;&#38283;&#22987;&#30340;&#38283;&#30332;&#23526;&#25136;</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:45:00+08:00</date>
                <start>13:45</start>
                <duration>00:15</duration>
                <abstract>IntelliJ &#26159;&#35377;&#22810; Java &#38283;&#30332;&#32773;&#24859;&#29992;&#30340; IDE&#65292;&#20294;&#20320;&#26159;&#21542;&#20063;&#26366;&#32147;&#32763;&#36941; Plugin Marketplace&#65292;&#21371;&#22987;&#32066;&#25214;&#19981;&#21040;&#30495;&#27491;&#31526;&#21512;&#38656;&#27714;&#30340;&#25554;&#20214;&#65311;&#24515;&#24819;&#65306;&#12300;&#22914;&#26524;&#26377; XXX &#21151;&#33021;&#23601;&#22909;&#20102;&#65281;&#12301;

&#26082;&#28982;&#22914;&#27492;&#65292;&#20309;&#19981;&#33258;&#24049;&#21205;&#25163;&#20570;&#19968;&#20491;&#65311;

&#26412;&#22580;&#28436;&#35611;&#23559;&#24118;&#20320;&#24555;&#36895;&#25484;&#25569;&#20351;&#29992; Java &#38283;&#30332; IntelliJ Plugin &#30340;&#22522;&#26412;&#27969;&#31243;&#65292;&#24478;&#27010;&#24565;&#20837;&#38272;&#21040;&#23526;&#38555;&#25805;&#20316;&#65292;&#20006;&#20171;&#32057;&#22914;&#20309;&#23559;&#23436;&#25104;&#30340;&#25554;&#20214;&#30332;&#20296;&#21040; JetBrains Plugin Marketplace&#12290;&#35731;&#20320;&#25171;&#36896;&#23560;&#23660;&#24037;&#20855;&#30340;&#21516;&#26178;&#65292;&#20063;&#33021;&#23559;&#25104;&#26524;&#20998;&#20139;&#32102;&#26356;&#22810;&#38283;&#30332;&#32773;&#12290;</abstract>
                <slug>jcconf-2025-72708-intellij-plugin</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='72756'>&#24373;&#21697;&#32724; Pino</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/VEAF7U/resources/JCCONF_2025-in_HsvLbMa.pdf">&#31777;&#22577;</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/VEAF7U/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/VEAF7U/feedback/</feedback_url>
            </event>
            <event guid='9f3ee020-4d07-51b0-b454-a9e3545b3921' id='75460' code='PGXXWX'>
                <room>402AB</room>
                <title>&#19968;&#21345;&#36890;&#23566;&#20837; KMP &#33287; CMP &#30340;&#29986;&#21697;&#32218;&#31574;&#30053;&#33287;&#24515;&#24471;&#20998;&#20139;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T14:10:00+08:00</date>
                <start>14:10</start>
                <duration>00:45</duration>
                <abstract>&#20316;&#28858;&#21488;&#28771;&#25903;&#20184;&#26381;&#21209;&#30340;&#38936;&#23566;&#21697;&#29260;&#65292;&#19968;&#21345;&#36890;&#25237;&#20837; Kotlin Multiplatform (KMP) &#24050;&#36817;&#19977;&#24180;&#12290;&#25105;&#20497;&#30340;&#23526;&#36368;&#22580;&#26223;&#24478;&#24291;&#28858;&#20154;&#30693;&#30340; iPASS MONEY app&#65292;&#24310;&#20280;&#33267;&#25505;&#29992; Compose  Multiplatform (CMP) &#30340;&#21830;&#23478;&#31649;&#29702;&#24460;&#21488;&#12290;&#26412;&#27425;&#20998;&#20139;&#23559;&#28145;&#20837;&#21078;&#26512;&#25105;&#20497;&#22312;&#19981;&#21516;&#29986;&#21697;&#32218;&#30340;&#23566;&#20837;&#31574;&#30053;&#33287;&#23526;&#25136;&#24515;&#24471;&#12290;&#26356;&#37325;&#35201;&#30340;&#26159;&#65292;&#25105;&#20497;&#23559;&#20998;&#20139;&#26410;&#20358;&#30340;&#25216;&#34899;&#23637;&#26395;&#65306;&#22914;&#20309;&#35215;&#21123;&#25505;&#29992;   Kotlin/Wasm&#65292;&#23559;&#21830;&#23478;&#24460;&#21488;&#25844;&#23637;&#33267;&#32178;&#38913;&#31471;&#65292;&#23526;&#29694; iOS&#12289;Android&#12289;Web &#19977;&#24179;&#21488;&#20849;&#20139;&#26989;&#21209;&#37007;&#36655;&#33287; UI &#30340;&#32066;&#26997;&#30446;&#27161;&#12290;&#25105;&#20497;&#23559;&#32080;&#21512; JetBrains &#33287; Google &#30340;&#23448;&#26041;&#34253;&#22294;&#36914;&#34892;&#25506;&#35342;&#65292;&#24076;&#26395;&#33021;&#28858;&#21516;&#27171;&#36208;&#22312;&#36889;&#26781;&#36335;&#19978;&#30340;&#38283;&#30332;&#32773;&#33287;&#20225;&#26989;&#20808;&#36914;&#65292;&#24118;&#20358;&#31532;&#19968;&#25163;&#30340;&#21855;&#30332;&#33287;&#28145;&#20837;&#30340;&#35342;&#35542;&#12290;</abstract>
                <slug>jcconf-2025-75460-kmp--cmp</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='75016'>&#26519;&#23431;&#36562;</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/PGXXWX/resources/JCConf_2025_Sl_jNLuBFz.pdf">&#26368;&#32066;&#29256;</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/PGXXWX/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/PGXXWX/feedback/</feedback_url>
            </event>
            <event guid='a54c12ef-30fb-51f0-98ab-38efaa9eb827' id='72794' code='DUJKF9'>
                <room>402AB</room>
                <title>&#30070; Kotlin &#36935;&#19978; AI&#65306;&#25171;&#36896;&#26032;&#32862;&#25688;&#35201;&#33258;&#21205;&#21270;&#30340;&#23526;&#20316;&#23526;&#37636;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T15:05:00+08:00</date>
                <start>15:05</start>
                <duration>00:45</duration>
                <abstract>&#22312;&#36039;&#35338;&#29190;&#28856;&#30340;&#26178;&#20195;&#65292;&#26032;&#32862;&#21462;&#24471;&#19981;&#20877;&#22256;&#38627;&#65292;&#22256;&#38627;&#30340;&#26159;&#24478;&#22823;&#37327;&#36039;&#26009;&#20013;&#24555;&#36895;&#25484;&#25569;&#37325;&#40670;&#12290;&#36817;&#24180;&#20358; AI &#30340;&#33288;&#36215;&#65292;&#21508;&#34892;&#21508;&#26989;&#37117;&#22039;&#35430;&#23566;&#20837; AI&#65292;&#36805;&#36895;&#30332;&#23637;&#30340;&#30070;&#19979;&#65292;&#38614;&#24118;&#20358; AI &#28966;&#24942;&#65292;&#20294;&#20063;&#21516;&#26178;&#36814;&#20358;&#25928;&#29575;&#25552;&#21319;&#21450;&#21443;&#33287;&#26356;&#22810;&#29986;&#21697;&#35373;&#35336;&#30340;&#26032;&#22865;&#27231;&#12290;&#26412;&#22580;&#20998;&#20139;&#23559;&#20171;&#32057;&#22914;&#20309;&#20197; Kotlin &#25645;&#37197; Spring Boot &#33287; Spring AI&#65292;&#25171;&#36896;&#19968;&#20491;&#33258;&#21205;&#21270;&#29983;&#25104; Kotlin &#25216;&#34899;&#26032;&#32862;&#25688;&#35201;&#30340;&#24179;&#21488;&#12290;&#24478;&#23450;&#26178;&#20219;&#21209;&#21855;&#21205;&#12289;&#26032;&#32862;&#20839;&#23481;&#25847;&#21462;&#12289;AI &#29983;&#25104;&#25688;&#35201;&#12289;&#38748;&#24907;&#32178;&#38913;&#33287;&#35330;&#38321;&#25512;&#36865;&#65292;&#24478;&#20013;&#25286;&#35299;&#25972;&#20491;&#33258;&#21205;&#21270;&#27969;&#31243;&#30340;&#35373;&#35336;&#33287;&#23526;&#20316;&#32048;&#31680;&#12290;&#27492;&#22806;&#65292;&#25105;&#20497;&#20063;&#26371;&#20998;&#20139;&#38283;&#30332;&#36942;&#31243;&#20013;&#36939;&#29992; Vibe Coding &#30340;&#38283;&#30332;&#32147;&#39511;&#65292;&#21152;&#36895;&#23526;&#29694; MVP &#29986;&#21697;&#65292;&#35731;&#38283;&#30332;&#32773;&#32858;&#28966;&#22312;&#26368;&#37325;&#35201;&#30340;&#26989;&#21209;&#37007;&#36655;&#33287;&#29992;&#25142;&#39636;&#39511;&#12290;</abstract>
                <slug>jcconf-2025-72794-kotlin--ai</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='72895'>&#33539;&#32854;&#20305;</person><person id='72844'>Andy Lu</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/DUJKF9/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/DUJKF9/feedback/</feedback_url>
            </event>
            <event guid='f8eab53c-6dc5-548f-b09f-3b1720c80e16' id='71099' code='NRSTU9'>
                <room>402AB</room>
                <title>AI Driven Development with Java &amp; Kotlin</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T16:20:00+08:00</date>
                <start>16:20</start>
                <duration>00:45</duration>
                <abstract>Reviewing the development of AI over the past few years, AI has now transitioned from a consultant to an agent. In this agenda, we will demonstrate how to rapidly develop Spring Boot CRUD APIs for Java and Kotlin through pre-defined prompts and instruction files.</abstract>
                <slug>jcconf-2025-71099-ai-driven-development-with-java-kotlin</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='71214'>Vincent Huang</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/NRSTU9/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/NRSTU9/feedback/</feedback_url>
            </event>
            <event guid='29ae2e6e-4b71-5394-a975-90f0ad5ab761' id='70989' code='EYRB9M'>
                <room>402AB</room>
                <title>&#20197;&#28858;&#29992; Ktor &#23601; non-blocking &#20102;&#65311;&#20294;&#20320;&#23531;&#30340;&#21487;&#33021;&#19981;&#26159;&#65306;&#24478;&#36393;&#22353;&#21040;&#35299;&#27861;&#30340;&#23526;&#25136;&#20998;&#20139;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T17:15:00+08:00</date>
                <start>17:15</start>
                <duration>00:45</duration>
                <abstract>Ktor &#22825;&#29983;&#25903;&#25588; non-blocking&#12289;&#22522;&#26044; coroutine &#30340;&#26550;&#27083;&#65292;&#24456;&#36969;&#21512;&#25171;&#36896;&#39640;&#25928;&#33021;&#30340;&#24460;&#31471;&#26381;&#21209;&#12290;

&#20294;&#23526;&#38555;&#19978;&#65292;&#21363;&#20351;&#26694;&#26550;&#26159;&#38750;&#38459;&#22622;&#30340;&#65292;&#20320;&#23531;&#30340;&#31243;&#24335;&#30908;&#20063;&#21487;&#33021;&#40664;&#40664;&#30340;&#34255;&#33879;&#38459;&#22622;&#30340;&#37096;&#20998;&#12290;

&#36889;&#22580;&#28436;&#35611;&#23559;&#24478; coroutine &#30340;&#22519;&#34892;&#27169;&#22411;&#20999;&#20837;&#65292;&#28145;&#20837;&#35299;&#26512;&#65306;

- &#28858;&#20160;&#40636; non-blocking &#26550;&#27083;&#20013;&#65292;&#36996;&#26371;&#26377; blocking code &#30340;&#20986;&#29694;&#65311;
- &#24120;&#35211;&#30340; blocking code &#20358;&#28304;&#26377;&#21738;&#20123;&#65311;
- &#24590;&#40636;&#27491;&#30906;&#34389;&#29702; blocking&#65292;&#36991;&#20813;&#24433;&#38911;&#31243;&#24335;&#25928;&#33021;
- &#22914;&#20309;&#35373;&#35336;&#20094;&#28136;&#30340;&#26550;&#27083;&#65292;&#35731; blocking code &#34987;&#25511;&#31649;&#12289;&#21487;&#38928;&#28204;

&#22914;&#26524;&#20320;&#27491;&#22312;&#20351;&#29992; Ktor &#25110; coroutine &#26550;&#27083;&#38283;&#30332;&#24460;&#31471;&#65292;&#36889;&#22580;&#20998;&#20139;&#33021;&#24171;&#21161;&#20320;&#26356;&#26377;&#24847;&#35672;&#22320;&#23531;&#20986;&#30495;&#27491;&#38750;&#38459;&#22622;&#12289;&#31337;&#23450;&#12289;&#20855;&#24392;&#24615;&#30340;&#31243;&#24335;&#30908;&#12290;</abstract>
                <slug>jcconf-2025-70989-ktor--non-blocking</slug>
                <track>402AB</track>
                
                <persons>
                    <person id='71118'>Recca Chao</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/EYRB9M/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/EYRB9M/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='402CD' guid='cb46eb54-4e22-5277-9f1f-0f0b00d3bdae'>
            <event guid='77fe0678-184e-53de-9fb0-db9b0dbf44d6' id='74067' code='HRKTVE'>
                <room>402CD</room>
                <title>&#35299;&#23494;&#31243;&#24335;&#30908;&#30340;&#39592;&#39612;&#65306;&#28145;&#20837;&#29702;&#35299; Tree-sitter &#33287;&#20854;&#32080;&#27083;&#21270;&#26412;&#36074;&#12290;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T10:40:00+08:00</date>
                <start>10:40</start>
                <duration>00:45</duration>
                <abstract>&#29694;&#20195;&#31243;&#24335;&#30908;&#32232;&#36655;&#22120;&#25552;&#20379;&#20102;&#20196;&#20154;&#39514;&#35924;&#30340;&#21151;&#33021;&#65306;&#35486;&#27861;&#39640;&#20142;&#24230;&#12289;&#33258;&#21205;&#26684;&#24335;&#21270;&#12289;&#20197;&#21450;&#36339;&#36681;&#23450;&#32681;&#12290;&#36889;&#20123;&#33021;&#21147;&#32972;&#24460;&#30340;&#22522;&#30707;&#65292;&#37117;&#26159;&#12300;&#31243;&#24335;&#35486;&#27861;&#32080;&#27083;&#12301;&#30340;&#35299;&#26512;&#12290;

&#22312;&#20659;&#32113;&#19978;&#65292;&#19981;&#21516;&#35486;&#35328;&#24448;&#24448;&#38656;&#35201;&#21508;&#33258;&#29544;&#31435;&#30340; parser &#33287;&#24037;&#20855;&#37832;&#65292;&#32570;&#20047;&#19968;&#33268;&#30340;&#27161;&#28310;&#12290;GitHub &#25512;&#20986;&#30340; Tree-sitter &#25913;&#35722;&#20102;&#36889;&#20491;&#29694;&#29376;&#65306;&#23427;&#33021;&#20197;&#39640;&#25928;&#19988;&#36890;&#29992;&#30340;&#26041;&#24335;&#29986;&#29983; Concrete Syntax Tree (CST)&#65292;&#20006;&#36879;&#36942;&#26597;&#35426; API &#25552;&#20379;&#32102;&#32232;&#36655;&#22120;&#33287; IDE &#20351;&#29992;&#12290;

&#36889;&#22580;&#20998;&#20139;&#23559;&#24478;&#22522;&#30990;&#21040;&#25033;&#29992;&#65292;&#24118;&#20320;&#36880;&#27493;&#29702;&#35299;&#65306;

* Tree-sitter &#30340;&#26680;&#24515;&#27010;&#24565; - parsing/query &#31995;&#32113;&#12290;
* &#23526;&#21209;&#25033;&#29992;&#26696;&#20363; - &#22312; Neovim &#20013;&#23526;&#20316;&#12300;&#36339;&#36681;&#23450;&#32681;&#12301;&#21151;&#33021;&#12290;
* &#26410;&#20358;&#23637;&#26395; - &#32080;&#27083;&#21270;&#31243;&#24335;&#30908;&#36039;&#26009;&#22312; AI &#38936;&#22495;&#30340;&#28507;&#21147;&#65306;CST/AST &#22914;&#20309;&#36628;&#21161; LLM &#26356;&#31934;&#30906;&#22320;&#29702;&#35299;&#31243;&#24335;&#37007;&#36655;&#12290;</abstract>
                <slug>jcconf-2025-74067-tree-sitter</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='73864'>Laurence Chen</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/HRKTVE/resources/treesitter_Z4qsCDz.pdf">&#35696;&#31243;&#25237;&#24433;&#29255;</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/HRKTVE/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/HRKTVE/feedback/</feedback_url>
            </event>
            <event guid='fd345dad-3a4f-541b-ba4e-a329f0244607' id='71852' code='PXNRD9'>
                <room>402CD</room>
                <title>Simplifying Java Build Tooling with Object Oriented Programming (EN)</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T11:40:00+08:00</date>
                <start>11:40</start>
                <duration>00:45</duration>
                <abstract>The Java language is known to be fast, safe, and easy, but Java build tools like Maven or Gradle do not always live up to that reputation. This talk will explore what &quot;could be&quot; - where current Java build tools fall short of expectations in performance, IDE support, and extensibility - and why there&apos;s room to improve. We will end with a demonstration of an experimental build tool &quot;Mill&quot; that makes use of techniques object oriented programming to dramatically simplify the experience of using a Java build tool, proving out the idea that Java build tooling has the potential to be much faster, safer, and easier than it is today.</abstract>
                <slug>jcconf-2025-71852-simplifying-java-build-tooling-with-object-oriented-programming-en</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='71950'>Li Haoyi</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/PXNRD9/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/PXNRD9/feedback/</feedback_url>
            </event>
            <event guid='3d45b672-90e7-533c-b1da-4d17361aab87' id='74197' code='PYLURT'>
                <room>402CD</room>
                <title>&#29992;AI&#36914;&#34892;&#32769;&#33290;java&#23560;&#26696;&#30340;&#29694;&#20195;&#21270;&#37325;&#27083;&#32147;&#39511;&#35527; (NO REC)</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:25:00+08:00</date>
                <start>13:25</start>
                <duration>00:15</duration>
                <abstract>&#20171;&#32057;&#36939;&#29992; AI &#24037;&#20855;&#65288;&#22914; GitHub Copilot&#65289;&#21332;&#21161;&#20844;&#21496;&#20839;&#37096;&#32769;&#33290; Java &#23560;&#26696;&#30340;&#29694;&#20195;&#21270;&#37325;&#27083;&#12290;&#36889;&#20123;&#23560;&#26696;&#21407;&#26412;&#25505;&#29992; Java 8&#65292;&#26410;&#20351;&#29992;&#20219;&#20309;&#26694;&#26550;&#65292;&#21151;&#33021;&#30342;&#30001;&#38283;&#30332;&#20154;&#21729;&#23526;&#20316;&#65292;&#27169;&#32068;&#38291;&#20197;&#20989;&#24335;&#20114;&#30456;&#21628;&#21483;&#65292;&#37096;&#32626;&#26044; WebLogic &#25110; JBoss &#31561;&#20659;&#32113;&#25033;&#29992;&#20282;&#26381;&#22120;&#19978;&#12290;&#36879;&#36942; VSCode &#25645;&#37197; GitHub Copilot&#65292;&#25104;&#21151;&#29986;&#29983;&#31995;&#32113;&#35373;&#35336;&#25991;&#20214;&#12289;&#36039;&#26009;&#24235;&#32080;&#27083;&#25991;&#20214;&#33287; OpenAPI &#35215;&#26684;&#65292;&#36914;&#19968;&#27493;&#36681;&#21270;&#28858;&#22522;&#26044; Java 17 &#33287; Spring Boot 3 &#30340;&#29694;&#20195;&#21270;&#26550;&#27083;&#12290;&#20006;&#25972;&#29702;&#20986;&#19968;&#22871;&#26041;&#27861;&#35542;&#65292;&#35731;&#38283;&#30332;&#32773;&#21487;&#21033;&#29992;&#25991;&#20214;&#33287; AI &#21332;&#20316;&#65292;&#26377;&#31995;&#32113;&#22320;&#23559;&#33290;&#23560;&#26696;&#37325;&#27083;&#28858;&#21487;&#32173;&#35703;&#12289;&#21487;&#25844;&#23637;&#30340;&#29694;&#20195;&#21270;&#26550;&#27083;&#12290;&#26412;&#28436;&#35611;&#23559;&#20998;&#20139;&#36681;&#25563;&#30340;&#32147;&#39511;&#21644;&#36935;&#21040;&#30340;&#25361;&#25136;&#65292;&#36969;&#21512;&#23565;AI&#21332;&#20316;&#26377;&#33288;&#36259;&#30340; Java &#38283;&#30332;&#32773;&#21443;&#32771;&#12290;</abstract>
                <slug>jcconf-2025-74197-aijava-no-rec</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='73960'>&#35377;&#23376;&#35609;</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/PYLURT/resources/AIjava_Q8npTSM.pdf">&#25237;&#24433;&#29255;</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/PYLURT/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/PYLURT/feedback/</feedback_url>
            </event>
            <event guid='7c1ec49f-2e99-5956-b7ef-74ddcba168f6' id='71136' code='PEWWJE'>
                <room>402CD</room>
                <title>&#24478; Java &#20659;&#32113;&#23531;&#27861;&#36914;&#21270;&#21040; Apache Camel&#65306;&#19968;&#27425;&#25630;&#25026;&#25972;&#21512;&#22411;&#38283;&#30332;</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:45:00+08:00</date>
                <start>13:45</start>
                <duration>00:15</duration>
                <abstract>&#22312;&#20225;&#26989;&#25033;&#29992;&#38283;&#30332;&#20013;&#65292;&#36229;&#36942; 70% &#30340;&#26178;&#38291;&#33287;&#36039;&#28304;&#37117;&#33457;&#22312;&#12300;&#31995;&#32113;&#25972;&#21512;&#12301;&#19978;&#12290;&#28961;&#35542;&#26159;&#34389;&#29702; CSV &#27284;&#26696;&#12289;&#20018;&#25509; Kafka&#12289;&#23384;&#21462;&#36039;&#26009;&#24235;&#65292;&#25110;&#26159;&#21628;&#21483; REST API&#65292;&#25105;&#20497;&#37117;&#32722;&#24931;&#29992; Java &#23531;&#22823;&#37327;&#30340; if/else&#12289;try/catch&#12289;&#33258;&#35330;&#25490;&#31243;&#33287;&#37679;&#35492;&#37325;&#35430;&#27231;&#21046;&#65292;&#36889;&#20123;&#38620;&#20098;&#30340;&#25972;&#21512;&#37007;&#36655;&#35731;&#31243;&#24335;&#30908;&#38627;&#20197;&#32173;&#35703;&#65292;&#31995;&#32113;&#32806;&#21512;&#24230;&#21319;&#39640;&#12289;&#37325;&#35079;&#24615;&#39640;&#12289;&#28204;&#35430;&#22256;&#38627;&#12290;

&#26412;&#22580;&#20998;&#20139;&#23559;&#20197;&#38283;&#30332;&#32773;&#35222;&#35282;&#20986;&#30332;&#65292;&#24478;&#12300;Java &#20659;&#32113;&#25972;&#21512;&#23531;&#27861;&#12301;&#20316;&#28858;&#20999;&#20837;&#40670;&#65292;&#24118;&#38936;&#35264;&#30526;&#23526;&#38555;&#27604;&#36611;&#20659;&#32113;&#26041;&#24335;&#33287; Apache Camel &#23526;&#20316;&#26041;&#24335;&#30340;&#24046;&#30064;&#12290;&#25105;&#23559;&#20171;&#32057; Apache Camel &#30340;&#26680;&#24515;&#35373;&#35336;&#29702;&#24565;&#65306;RouteBuilder DSL&#65292;&#22914;&#20309;&#20197;&#31777;&#28500;&#35486;&#27861;&#23450;&#32681;&#36039;&#26009;&#27969;&#12289;&#23526;&#20316;&#37679;&#35492;&#37325;&#35430;&#33287;&#26684;&#24335;&#36681;&#25563;&#65292;&#20006;&#23637;&#31034;&#20841;&#20491;&#24120;&#35211;&#25972;&#21512;&#22580;&#26223;&#30340;&#23526;&#25136;&#31243;&#24335;&#30908;&#65306;

&#27284;&#26696;&#34389;&#29702;&#33258;&#21205;&#19978;&#20659;&#65306;CSV &#10140; JSON &#10140; API
&#35338;&#24687;&#36681;&#36865;&#20013;&#20171;&#26381;&#21209;&#65306;Kafka &#10140; &#27396;&#20301;&#36681;&#25563; &#10140; &#23531;&#20837;&#36039;&#26009;&#24235;

&#36879;&#36942;&#31684;&#20363;&#23565;&#29031;&#65292;&#35731;&#38283;&#30332;&#32773;&#24555;&#36895;&#25484;&#25569; Camel &#30340;&#20351;&#29992;&#22580;&#26223;&#33287;&#20729;&#20540;&#12290;&#36969;&#21512;&#20219;&#20309;&#26366;&#32147;&#33258;&#24049;&#25163;&#21051;&#25972;&#21512;&#27969;&#31243;&#12289;&#24819;&#25552;&#21319;&#25972;&#21512;&#25928;&#29575;&#33287;&#21487;&#32173;&#35703;&#24615;&#30340; Java &#24037;&#31243;&#24107;&#12290;</abstract>
                <slug>jcconf-2025-71136-java--apache-camel</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='72849'>&#38515;&#20161;&#20625;</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/PEWWJE/resources/2025_JCconf__A_HPlmapT.pdf">Apache Camel&#25237;&#24433;&#29255;</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/PEWWJE/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/PEWWJE/feedback/</feedback_url>
            </event>
            <event guid='53ee32a5-3cb5-582a-b890-94dd6e14a0ce' id='74392' code='YH93GG'>
                <room>402CD</room>
                <title>&#24478; RBAC &#21040; ReBAC&#65306;&#25171;&#36896;&#39640;&#24615;&#33021;&#32048;&#31890;&#24230;&#27402;&#38480;&#31649;&#29702; (NO REC)</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T14:10:00+08:00</date>
                <start>14:10</start>
                <duration>00:45</duration>
                <abstract>OpenFGA &#26159;&#19968;&#20491;&#38283;&#28304;&#30340;&#32048;&#31890;&#24230;&#25480;&#27402;&#31995;&#32113;&#65292;&#38728;&#24863;&#20358;&#33258; Google Zanzibar&#65292;&#22522;&#26044;&#38364;&#20418;&#22411;&#35370;&#21839;&#25511;&#21046;&#65288;ReBAC&#65289;&#12290;&#36879;&#36942;&#30452;&#35264;&#30340;&#24314;&#27169;&#35486;&#35328;&#23450;&#32681;&#29289;&#20214;&#38291;&#38364;&#20418;&#65288;&#22914;&#12300;&#29992;&#25142; A &#26159;&#25991;&#20214; B &#30340;&#25793;&#26377;&#32773;&#12301;&#65289;&#65292;&#23526;&#29694;&#38728;&#27963;&#12289;&#39640;&#25928;&#30340;&#27402;&#38480;&#31649;&#29702;&#65292;&#36229;&#36234;&#20659;&#32113; RBAC &#21644; ABAC&#12290;OpenFGA &#25903;&#25588;&#22810;&#35486;&#35328; SDK&#65288;Java&#12289;Python&#12289;Go &#31561;&#65289;&#65292;&#25552;&#20379; Check &#21644; ListObjects &#31561; API&#65292;&#36969;&#29992;&#26044;&#21332;&#20316;&#24179;&#21488;&#12289;&#25991;&#20214;&#20849;&#20139;&#21450; API &#23433;&#20840;&#31561;&#22580;&#26223;&#12290;&#33287; Spring Security &#28961;&#32299;&#25972;&#21512;&#65292;&#36879;&#36942; OpenFGA Spring Boot Starter &#31777;&#21270; Java &#25033;&#29992;&#25480;&#27402;&#23526;&#29694;&#65292;&#25903;&#25588;&#24555;&#36895;&#27402;&#38480;&#27298;&#26597;&#21644;&#28204;&#35430;&#12290;&#20316;&#28858; CNCF Sandbox &#38917;&#30446;&#65292;OpenFGA &#25793;&#26377;&#27963;&#36493;&#31038;&#32676;&#65292;&#25903;&#25588; PostgreSQL&#12289;MySQL &#31561;&#36039;&#26009;&#24235;&#65292;&#30906;&#20445;&#39640;&#24615;&#33021;&#12290;Playground &#24037;&#20855;&#35731;&#38283;&#30332;&#32773;&#21487;&#35222;&#35258;&#21270;&#28204;&#35430;&#25480;&#27402;&#37007;&#36655;&#65292;&#21152;&#36895;&#38283;&#30332;&#27969;&#31243;&#12290;</abstract>
                <slug>jcconf-2025-74392-rbac--rebac--no-rec</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='74127'>ethan</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/YH93GG/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/YH93GG/feedback/</feedback_url>
            </event>
            <event guid='6cd568bc-f647-5abd-86c6-794ba90d0f27' id='74737' code='TKURPV'>
                <room>402CD</room>
                <title>Zero downtime DB migration using Kafka Connect</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T15:05:00+08:00</date>
                <start>15:05</start>
                <duration>00:45</duration>
                <abstract>I would like to share how we have utilized Kafka Connect to complete DB migration with zero downtime. Kafka Connect is a tool for building scalable and reliable data pipelines between Apache Kafka and other data systems. Kafka Connect allows us to ingest entire DB into Kafka topics so that export connector can migrate the data from Kafka topics to another DB. Kafka Connect also supports rollback to previous DB in case any issue happens after the migration is done which is usually very hard for built-in DB migration tools. Moreover, Kafka Connect not only supports DB to DB or table to table migrations, but also supports custom write strategy which could let us migrate only part of the data we need.</abstract>
                <slug>jcconf-2025-74737-zero-downtime-db-migration-using-kafka-connect</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='74421'>haocheng</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/jcconf-2025/submissions/TKURPV/resources/kafka-connect_w5kFXG0.pdf">Kafka Connect slides</attachment>
                </attachments>

                <url>https://pretalx.com/jcconf-2025/talk/TKURPV/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/TKURPV/feedback/</feedback_url>
            </event>
            <event guid='3e3aaf4f-f40c-5750-8400-a531e6b9e0ec' id='73868' code='MG9UCH'>
                <room>402CD</room>
                <title>&#32080;&#21512; Temporal &#33287;&#29087;&#24713;&#30340;&#31243;&#24335;&#35486;&#35328;&#65292;&#23526;&#29694;&#24037;&#20316;&#27969;&#21363;&#31243;&#24335;&#30908;&#65292;&#25171;&#36896;&#39640;&#38860;&#24615;&#31995;&#32113;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T16:20:00+08:00</date>
                <start>16:20</start>
                <duration>00:45</duration>
                <abstract>Building Resilient Systems with Temporal, Workflow as Code in Your Favorite Languages

&#22312;&#29694;&#20195;&#20998;&#25955;&#24335;&#31995;&#32113;&#20013;&#65292;&#20659;&#32113;&#20381;&#36084;&#25163;&#21205;&#25776;&#23531;&#31243;&#24335;&#33287;&#29376;&#24907;&#31649;&#29702;&#30340;&#26041;&#24335;&#65292;&#24120;&#38754;&#33256;&#37679;&#35492;&#34389;&#29702;&#33287;&#31995;&#32113;&#24674;&#24489;&#30340;&#35079;&#38620;&#25361;&#25136;&#65292;&#23566;&#33268;&#38283;&#30332;&#33287;&#32173;&#36939;&#25104;&#26412;&#25345;&#32396;&#25856;&#21319;&#12290;

&#26412;&#27425;&#31777;&#22577;&#23559;&#20171;&#32057; Temporal &#24037;&#20316;&#27969;&#24341;&#25806;&#65292;&#37325;&#40670;&#35498;&#26126;&#20854;&#26680;&#24515;&#26550;&#27083;&#33287; API &#20351;&#29992;&#65292;&#20102;&#35299;&#22914;&#20309;&#36879;&#36942;&#12300;Workflow as Code&#12301;&#30340;&#35373;&#35336;&#29702;&#24565;&#65292;&#35731;&#38283;&#30332;&#32773;&#21487;&#20197;&#36939;&#29992;&#29087;&#24713;&#30340;&#31243;&#24335;&#35486;&#35328;&#65292;&#25171;&#36896;&#39640;&#38860;&#24615;&#19988;&#20855;&#25844;&#23637;&#24615;&#30340;&#27969;&#31243;&#31995;&#32113;&#65292;&#21332;&#21161;&#25552;&#21319;&#27969;&#31243;&#33258;&#21205;&#21270;&#30340;&#21487;&#38752;&#24230;&#33287;&#38283;&#30332;&#25928;&#29575;&#65292;&#20006;&#26377;&#25928;&#38477;&#20302;&#31995;&#32113;&#35079;&#38620;&#24230;&#33287;&#32173;&#35703;&#39080;&#38570;&#12290;</abstract>
                <slug>jcconf-2025-73868-temporal</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='73720'>&#23004;&#25919;&#23439; Jiang</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/MG9UCH/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/MG9UCH/feedback/</feedback_url>
            </event>
            <event guid='5ad57102-a5b4-5b03-a3f1-aa80fe0a71f8' id='72595' code='9AYD8Z'>
                <room>402CD</room>
                <title>Current status of Java Web Frameworks (EN)</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T17:15:00+08:00</date>
                <start>17:15</start>
                <duration>00:45</duration>
                <abstract>Java web applications were based on Java EE and were built around servlets/JSPs, but the presence of Java EE/Jakarta EE is fading as Spring Boot has become mainstream. In addition, cloud and containers have come into use, full-stack frameworks such as Quarkus and Micronaut have begun to appear, and MicroProfile has begun to work as a standard specification.
In this session, we will introduce request processing frameworks divided into three types: imperative, declarative, and component, and summarize the changes that have occurred in their execution environments in line with the cloud, and introduce the current situation.</abstract>
                <slug>jcconf-2025-72595-current-status-of-java-web-frameworks-en</slug>
                <track>402CD</track>
                
                <persons>
                    <person id='72621'>Naoki Kishida</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/9AYD8Z/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/9AYD8Z/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='203' guid='c2e2f700-18ed-5655-8760-4ce34968be50'>
            <event guid='0f80f718-74d1-576b-93e7-b2b9434441ad' id='71085' code='TGB7WJ'>
                <room>203</room>
                <title>Let&apos;s Guava it up! Google Core Libraries for Java</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T11:40:00+08:00</date>
                <start>11:40</start>
                <duration>00:45</duration>
                <abstract>&#24118;&#20320;&#36914;&#21435; Google &#28858; Java &#23560;&#26696;&#25152;&#38283;&#30332;&#30340;Libraries&#30340;&#19990;&#30028;&#65281;&#20998;&#20139;&#24037;&#20316;&#19978;&#20351;&#29992;Guava&#26368;&#23526;&#29992;&#30340;&#36229;&#22810;&#25216;&#24039;&#65292;&#35731;&#38283;&#30332;&#32773;&#20497;&#31449;&#22312;Google&#24040;&#20154;&#30340;&#32937;&#33152;&#19978;&#38283;&#30332;&#12290;

&#20854;&#20013;&#21253;&#21547;&#26032;&#22411;&#38598;&#21512;&#39006;&#22411;&#65288;&#22914;&#22810;&#37325;&#26144;&#23556;&#21644;&#22810;&#37325;&#38598;&#21512;&#65289;&#12289;&#19981;&#21487;&#35722;&#38598;&#21512;&#12289;&#22294;&#24418;&#24235;&#65292;&#20197;&#21450;&#29992;&#26044;&#20006;&#30332;&#12289;I/O&#12289;&#21704;&#24076;&#12289;&#22522;&#26412;&#39006;&#22411;&#12289;&#23383;&#31526;&#20018;&#31561;&#30340;&#23526;&#29992;&#24037;&#20855;&#12290;&#23427;&#22312; Google &#20839;&#37096;&#30340;&#22823;&#22810;&#25976; Java &#38917;&#30446;&#20013;&#24291;&#27867;&#20351;&#29992;&#65292;&#20063;&#34987;&#35377;&#22810;&#20854;&#20182;&#20844;&#21496;&#24291;&#27867;&#25505;&#29992;&#12290;</abstract>
                <slug>jcconf-2025-71085-let-s-guava-it-up-google-core-libraries-for-java</slug>
                <track>203</track>
                
                <persons>
                    <person id='71203'>&#19981;&#24819;&#21152;&#29677;&#30340;&#24037;&#31243;&#24107; Justin</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/TGB7WJ/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/TGB7WJ/feedback/</feedback_url>
            </event>
            <event guid='ac8c8bb6-df6d-58cd-a304-1c8960ab7445' id='72823' code='FUZ7B8'>
                <room>203</room>
                <title>&#25171;&#36896;&#37096;&#38272;&#23560;&#23660;&#30340; Quarkus &#38283;&#30332;&#39636;&#39511;&#65306;&#29992; Maven + Extension &#24314;&#31435;&#19968;&#33268;&#21270;&#38283;&#30332;&#27969;&#31243; (NO REC)</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:25:00+08:00</date>
                <start>13:25</start>
                <duration>00:15</duration>
                <abstract>&#22312;&#37096;&#38272;&#25512;&#34892; Quarkus &#30340;&#36942;&#31243;&#20013;&#65292;&#25105;&#20497;&#36935;&#21040;&#20102;&#19968;&#20491;&#29087;&#24713;&#19988;&#26222;&#36941;&#30340;&#25361;&#25136;&#65306;&#27599;&#20491;&#23560;&#26696;&#22312;&#21855;&#21205;&#38542;&#27573;&#37117;&#38656;&#35201;&#37325;&#35079;&#35373;&#23450;&#20381;&#36084;&#12289;&#34389;&#29702;&#36039;&#26009;&#24235;&#36899;&#32218;&#12289;&#24341;&#20837;&#24120;&#29992;&#30340;&#24037;&#20855;&#12290;&#36889;&#20123;&#37325;&#35079;&#24615;&#30340;&#24037;&#20316;&#19981;&#20677;&#32791;&#36027;&#38283;&#30332;&#32773;&#22823;&#37327;&#26178;&#38291;&#65292;&#20063;&#23481;&#26131;&#22240;&#20154;&#32780;&#30064;&#29986;&#29983;&#23526;&#20316;&#24046;&#30064;&#65292;&#36914;&#32780;&#24433;&#38911;&#25972;&#39636;&#32173;&#36939;&#21697;&#36074;&#33287;&#25928;&#29575;&#12290;
&#28858;&#20102;&#35299;&#27770;&#36889;&#20491;&#30171;&#40670;&#65292;&#25105;&#20497;&#35373;&#35336;&#20102;&#19968;&#22871;&#22522;&#26044; Maven &#33287; Quarkus Extension &#30340;&#25972;&#21512;&#26041;&#26696;&#65292;&#20006;&#36914;&#19968;&#27493;&#25171;&#36896;&#37096;&#38272;&#23560;&#23660;&#30340;&#38283;&#30332;&#22871;&#20214;&#65292;&#36879;&#36942; Maven&#12289;Quarkus Extension&#12289;&#33258;&#21205;&#21270;&#37197;&#32622;&#33287;&#20849;&#29992;&#27169;&#32068;&#30340;&#25972;&#21512;&#65292;&#24314;&#31435;&#20986;&#19968;&#22871;&#12300;&#24478;&#24314;&#26696;&#12289;&#20381;&#36084;&#31649;&#29702;&#12289;&#38283;&#30332;&#27969;&#31243;&#21040;&#36039;&#26009;&#24235;&#36899;&#32218;&#12301;&#30340;&#27161;&#28310;&#21270;&#38283;&#30332;&#39636;&#39511;&#65292;&#38283;&#30332;&#32773;&#21482;&#35201;&#23560;&#27880;&#22312;&#26989;&#21209;&#37007;&#36655;&#19978;&#65292;&#35731;&#38283;&#30332;&#27969;&#31243;&#26356;&#26377;&#25928;&#29575;&#12290;

&#26412;&#35696;&#31243;&#23559;&#20998;&#20139;&#25105;&#20497;&#30340;&#23436;&#25972;&#23526;&#25136;&#27511;&#31243;&#65292;&#21253;&#25324;&#65306;
&#8226; &#27161;&#28310;&#21270;&#24314;&#26696;&#27169;&#26495;&#65306;&#22914;&#20309;&#29992; Maven + Extension &#24314;&#31435;&#23560;&#23660;&#26044;&#37096;&#38272;&#30340; Quarkus &#38283;&#30332;&#22871;&#20214;
&#8226; &#20849;&#29992;&#20381;&#36084;&#33287;&#27169;&#32068;&#31649;&#29702;&#65306;&#32113;&#19968;&#36039;&#26009;&#24235;&#36899;&#32218;&#33287;&#35373;&#23450;&#26041;&#24335;&#30340;&#23526;&#20316;&#26041;&#24335;
&#8226; &#25552;&#21319;&#38283;&#30332;&#25928;&#29575;&#65306;&#22914;&#20309;&#35731;&#26032;&#20154;&#20063;&#33021;&#24555;&#36895;&#19978;&#25163;&#12289;&#36039;&#28145;&#38283;&#30332;&#32773;&#32173;&#35703;&#26356;&#36629;&#39686;</abstract>
                <slug>jcconf-2025-72823-quarkus---maven-extension--no-rec</slug>
                <track>203</track>
                
                <persons>
                    <person id='72867'>&#29579;&#20449;&#20977;</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/FUZ7B8/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/FUZ7B8/feedback/</feedback_url>
            </event>
            <event guid='16d71a29-308e-55b8-802c-3f8cb9b3d3fa' id='72865' code='YLBJ9U'>
                <room>203</room>
                <title>&#20351;&#29992; k6 &#25171;&#36896;&#39640;&#25928;&#33021;&#30340; Java &#25033;&#29992;&#36000;&#36617;&#28204;&#35430; (NO REC)</title>
                <subtitle></subtitle>
                <type>Quickie</type>
                <date>2025-09-19T13:45:00+08:00</date>
                <start>13:45</start>
                <duration>00:15</duration>
                <abstract>&#31995;&#32113;&#22312;&#38283;&#30332;&#29872;&#22659;&#36939;&#34892;&#38918;&#26274;&#65292;&#20294;&#19968;&#19978;&#32218;&#23601;&#20986;&#29694;&#25928;&#33021;&#21839;&#38988;&#65311;&#26412;&#27425;&#20998;&#20139;&#23559;&#20171;&#32057;&#22914;&#20309;&#29992; k6 &#36889;&#27454;&#29694;&#20195;&#21270;&#36000;&#36617;&#28204;&#35430;&#24037;&#20855;&#65292;&#25552;&#21069;&#22312;&#28204;&#35430;&#38542;&#27573;&#30332;&#29694;&#20006;&#35299;&#27770;&#36889;&#20123;&#21839;&#38988;&#12290;

k6 &#20197; JavaScript &#25776;&#23531;&#28204;&#35430;&#33139;&#26412;&#65292;&#23416;&#32722;&#38272;&#27323;&#20302;&#12289;&#36039;&#28304;&#25928;&#29575;&#39640;&#65292;&#33021;&#28961;&#32299;&#25972;&#21512;&#33267; CI/CD &#27969;&#31243;&#12290;&#26412; 15 &#20998;&#37912;&#24555;&#35611;&#28085;&#33995;&#65306;k6 &#22522;&#30990;&#27010;&#24565;&#12289;&#28204;&#35430;&#22580;&#26223;&#35373;&#35336;&#12289;&#23526;&#38555;&#26696;&#20363;&#20998;&#26512;&#12289;CI/CD &#25972;&#21512;&#23526;&#36368;&#12290;

&#36969;&#21512; Java &#38283;&#30332;&#32773;&#12289;DevOps &#24037;&#31243;&#24107;&#33287;&#28204;&#35430;&#24037;&#31243;&#24107;&#65292;&#24171;&#21161;&#22296;&#38538;&#24314;&#31435;&#39640;&#25928;&#30340;&#36000;&#36617;&#28204;&#35430;&#31574;&#30053;&#65292;&#24478;&#21453;&#25033;&#24335;&#36681;&#28858;&#20027;&#21205;&#24335;&#30340;&#25928;&#33021;&#31649;&#29702;&#12290;</abstract>
                <slug>jcconf-2025-72865-k6--java--no-rec</slug>
                <track>203</track>
                
                <persons>
                    <person id='72924'>Ruei</person><person id='79512'>Charles Zheng</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/YLBJ9U/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/YLBJ9U/feedback/</feedback_url>
            </event>
            <event guid='b2e4a714-e4a1-5c86-92df-0bb0a200c856' id='73866' code='9EZPFT'>
                <room>203</room>
                <title>&#28151;&#28982;&#22825;&#25104;&#30340;,&#25903;&#25588;&#25972;&#20491;MySQL Java&#25033;&#29992;&#31995;&#32113;&#29983;&#21629;&#36913;&#26399;&#30340;IDE &#8211; MySQL for VS Code</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T14:10:00+08:00</date>
                <start>14:10</start>
                <duration>00:45</duration>
                <abstract>MySQL VS Code &#26159;&#19968;&#20491;&#25972;&#21512;MySQL &#21644;Visual Studio Code &#30340;&#24037;&#20855;&#65292;&#23427;&#35731;&#20351;&#29992;&#32773;&#33021;&#22312;VS Code &#29872;&#22659;&#20013;&#30452;&#25509;&#25805;&#20316;MySQL &#36039;&#26009;&#24235;&#12290; &#20854;&#20027;&#35201;&#21151;&#33021;&#21253;&#25324;&#65306;&#28687;&#35261;&#21644;&#31649;&#29702;MySQL &#36039;&#26009;&#24235;&#31995;&#32113;&#65292;&#25552;&#20379;notebook&#20171;&#38754;&#36914;&#34892;&#20114;&#21205;&#24335;&#36039;&#26009;&#24235;&#25805;&#20316;&#65292;&#20197;&#21450;&#30452;&#25509;&#22312;VS Code &#20013;&#20351;&#29992;MySQL Shell &#30340;GUI &#25511;&#21046;&#21488;&#12290;
&#22312;&#36889;&#27425;&#30340;&#28436;&#35611;&#20013;,&#25105;&#23559;&#28858;&#22823;&#23478;&#20171;&#32057;:
&#8226;	&#22914;&#20309; &#23559;&#36039;&#26009;&#24235;&#25805;&#20316;&#25972;&#21512;&#21040;VS Code&#65292;&#26041;&#20415;Java&#25033;&#29992;&#31995;&#32113;&#38283;&#30332;&#32773;&#22312;&#21516;&#19968;&#20491;&#29872;&#22659;&#20013;&#23436;&#25104;Java&#32232;&#23531;&#21644;&#36039;&#26009;&#24235;&#25805;&#20316;.
&#8226;	MySQL for VS Code&#33021;&#25552;&#20379;&#37027;&#20123;&#27604;&#20659;&#32113;MySQL &#29992;&#25142;&#31471;&#26356;&#22810;&#30340;&#21151;&#33021;&#21644;&#20415;&#21033;&#24615;&#65292;&#20363;&#22914;&#31558;&#35352;&#26412;&#20171;&#38754;&#12289;GUI &#25511;&#21046;&#21488;&#31561;.
&#8226;	&#22914;&#20309;&#25844;&#23637;&#30340;&#20171;&#38754;&#35373;&#35336;&#21451;&#22909;&#65292;&#26041;&#20415;&#20351;&#29992;&#32773;&#24555;&#36895;&#19978;&#25163;. 
&#8226;	&#20197;&#21450;VS Code&#22914;&#22914;&#20309;&#25972;&#21512;MySQL Connector/J,&#35731;Java&#38283;&#30332;&#32773;&#33021;&#36629;&#39686;&#30340;&#25484;&#25569;MySQL JDBC driver&#30340;&#21443;&#25976;&#21644;&#29305;&#24615;.</abstract>
                <slug>jcconf-2025-73866-mysql-javaide-mysql-for-vs-code</slug>
                <track>203</track>
                
                <persons>
                    <person id='73718'>&#26460;&#20462;&#25991;</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/9EZPFT/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/9EZPFT/feedback/</feedback_url>
            </event>
            <event guid='a52cd19c-d528-5152-9e33-97fe9424fe15' id='71726' code='SGSUPL'>
                <room>203</room>
                <title>Building a Community for Developers to Connect: The Challenge of the Japan Java User Group (EN)</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T15:05:00+08:00</date>
                <start>15:05</start>
                <duration>00:45</duration>
                <abstract>For developers to continue growing, acquiring knowledge alone is not enough. Interaction with other engineers, hands-on learning opportunities, and continuous stimulation are essential.

The Japan Java User Group (JJUG) has been fostering such an environment for over 20 years, now boasting a membership of more than 13,000. Through large conferences held twice a year (JJUG CCC), monthly night seminars, even an unconference held at hot spring resorts (JOnsen), JJUG has established itself as a vibrant and active community.

This talk will review how JJUG has provided a forum for engineers to learn and interact with each other, and provide insight into measures to maintain ongoing activities and to strengthen international ties. Additionally, we will explore the challenges JJUG currently faces and its vision for the future.</abstract>
                <slug>jcconf-2025-71726-building-a-community-for-developers-to-connect-the-challenge-of-the-japan-java-user-group-en</slug>
                <track>203</track>
                
                <persons>
                    <person id='71800'>Takaaki Sugiyama</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/SGSUPL/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/SGSUPL/feedback/</feedback_url>
            </event>
            <event guid='f184fa2d-6c96-5a37-a5f4-3348160d1091' id='71290' code='AJFLFQ'>
                <room>203</room>
                <title>Spring Boot &#38642;&#21407;&#29983;&#23526;&#25136;&#65306;GCP &#38364;&#37749;&#26381;&#21209;&#25972;&#21512;&#12289;&#25104;&#26412;&#20778;&#21270;&#33287;&#39640;&#25928;&#32173;&#36939;</title>
                <subtitle></subtitle>
                <type>Session</type>
                <date>2025-09-19T16:20:00+08:00</date>
                <start>16:20</start>
                <duration>00:45</duration>
                <abstract>&#38568;&#33879;&#38642;&#21407;&#29983;&#26178;&#20195;&#30340;&#26222;&#21450;&#65292;Java &#25033;&#29992;&#30340;&#38283;&#30332;&#33287;&#37096;&#32626;&#26041;&#24335;&#20134;&#38568;&#20043;&#25345;&#32396;&#28436;&#36914;&#12290;&#26412;&#35696;&#31243;&#23559;&#28145;&#20837;&#25506;&#35342;&#22914;&#20309;&#21033;&#29992; Spring Boot 3 &#21644; JDK 21&#65292;&#22312; Google Cloud Platform (GCP) &#19978;&#25171;&#36896;&#29694;&#20195;&#21270;&#12289;&#39640;&#25928;&#33021;&#19988;&#26131;&#26044;&#32173;&#36939;&#30340;&#25033;&#29992;&#31243;&#24335;&#65292;&#20006;&#20998;&#20139;&#22312;&#30495;&#23526;&#24773;&#22659;&#20013;&#22914;&#20309;&#20811;&#26381;&#25972;&#21512;&#25361;&#25136;&#33287;&#20778;&#21270;&#25104;&#26412;&#12290;

&#27492;&#35696;&#31243;&#23559;&#24478;&#19968;&#20491;&#23526;&#38555;&#30340; Spring Boot &#23560;&#26696;&#20986;&#30332;&#65292;&#36880;&#27493;&#23637;&#31034;&#22914;&#20309;&#22285;&#32350;&#19968;&#20491;&#26680;&#24515;&#26989;&#21209;&#22580;&#26223;&#65292;&#20018;&#32879;&#20006;&#39640;&#25928;&#36939;&#29992; GKE&#12289;Cloud SQL&#12289;Cloud Run &#31561;&#38364;&#37749; GCP &#26381;&#21209;&#65292;&#23526;&#29694;&#24478;&#38283;&#30332;&#21040;&#32173;&#36939;&#30340;&#23436;&#25972;&#27969;&#31243;&#12290;
1.  **&#23481;&#22120;&#21270;&#33287; GKE &#37096;&#32626;&#65306;** &#23559; Spring Boot &#25033;&#29992;&#31243;&#24335;&#23481;&#22120;&#21270;&#65292;&#20006;&#37096;&#32626;&#21040; Google Kubernetes Engine (GKE)&#65292;&#23526;&#29694;&#24392;&#24615;&#25844;&#23637;&#33287;&#39640;&#21487;&#29992;&#24615;&#12290;
2.  **GCP &#36039;&#26009;&#26381;&#21209;&#25972;&#21512;&#65306;**
    * **Cloud SQL (PostgreSQL)&#65306;** &#22914;&#20309;&#25972;&#21512;&#38364;&#32879;&#24335;&#36039;&#26009;&#24235;&#65292;&#20006;&#25506;&#35342;&#36899;&#32218;&#31649;&#29702;&#33287;&#25928;&#33021;&#35519;&#26657;&#31574;&#30053;&#12290;
    * **Cloud Memorystore (Redis)&#65306;** &#25972;&#21512;&#24555;&#21462;&#26381;&#21209;&#65292;&#25552;&#21319;&#25033;&#29992;&#31243;&#24335;&#22238;&#25033;&#36895;&#24230;&#12290;
    * **Cloud Storage Bucket&#65306;** &#20786;&#23384;&#33287;&#31649;&#29702;&#38748;&#24907;&#36039;&#28304;&#33287;&#22823;&#22411;&#27284;&#26696;&#12290;
3.  **&#23433;&#20840;&#24615;&#23526;&#36368;&#65306;** &#21033;&#29992; Secret Manager &#23433;&#20840;&#22320;&#31649;&#29702;&#25033;&#29992;&#31243;&#24335;&#23494;&#38000;&#33287;&#37197;&#32622;&#12290;
4.  **&#28961;&#20282;&#26381;&#22120;&#25506;&#32034;&#65306;** &#22914;&#20309;&#23559;&#26381;&#21209;&#20197; Cloud Run &#37096;&#32626;&#65292;&#23526;&#29694;&#25353;&#38656;&#20184;&#36027;&#33287;&#24555;&#36895;&#36845;&#20195;&#12290;
5.  **&#33258;&#21205;&#21270;&#20219;&#21209;&#65306;** &#36879;&#36942; Cloud Scheduler &#23433;&#25490;&#23450;&#26178;&#20219;&#21209;&#65292;&#35320;&#30332;&#22823;&#36039;&#26009;&#36939;&#31639;&#27969;&#31243;&#12289;&#21516;&#27493;&#36039;&#26009;&#31561;&#20219;&#21209;&#65292;&#20006;&#25506;&#35342;&#22914;&#20309;&#35373;&#35336;&#26356;&#20855;&#24392;&#24615;&#33287;&#23481;&#37679;&#24615;&#30340;&#25490;&#31243;&#27231;&#21046;&#12290;
6.  **&#21487;&#35264;&#28204;&#24615;&#33287;&#32173;&#36939;&#65306;** &#32080;&#21512; GCP &#30340;&#30435;&#25511;&#33287;&#26085;&#35468;&#26381;&#21209;&#65292;&#30906;&#20445;&#26381;&#21209;&#31337;&#23450;&#36939;&#34892;&#12290;

&#36969;&#21512;&#24076;&#26395;&#23559; Spring Boot &#25033;&#29992;&#31243;&#24335;&#36983;&#31227;&#19978;&#38642;&#65292;&#25110;&#24819;&#22312; GCP &#19978;&#27083;&#24314;&#20840;&#26032;&#38642;&#21407;&#29983;&#25033;&#29992;&#30340; Java &#38283;&#30332;&#32773;&#33287;&#22296;&#38538;&#38936;&#23566;&#32773;&#12290;&#24744;&#23559;&#23416;&#32722;&#21040;&#26368;&#26032;&#30340;&#25216;&#34899;&#26855;&#32068;&#21512;&#20197;&#21450;&#22312; GCP &#19978;&#30340;&#26368;&#20339;&#23526;&#36368;&#65292;&#20006;&#33021;&#23559;&#36889;&#20123;&#32147;&#39511;&#30452;&#25509;&#25033;&#29992;&#26044;&#24744;&#30340;&#23560;&#26696;&#20013;&#65292;&#25552;&#21319;&#38283;&#30332;&#25928;&#29575;&#33287;&#31995;&#32113;&#31337;&#23450;&#24615;&#12290;</abstract>
                <slug>jcconf-2025-71290-spring-boot--gcp</slug>
                <track>203</track>
                
                <persons>
                    <person id='71366'>&#34081;&#25215;&#35565; Frank Tsai</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links>
                    <link href="https://www.linkedin.com/in/frank-tsai-technical">LinkedIn</link>
                </links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/AJFLFQ/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/AJFLFQ/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='403' guid='61fbf807-b787-54cf-a485-9e97d1b601cf'>
            <event guid='7429c20b-7c93-5ddf-8bb0-1c05e83dc55d' id='79835' code='L9GKTZ'>
                <room>403</room>
                <title>Claude Code Lunch Talk&#65306;&#24478; Vibe &#21040; Value</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2025-09-19T12:30:00+08:00</date>
                <start>12:30</start>
                <duration>00:50</duration>
                <abstract>&#27794;&#26377;&#31777;&#22577;&#12289;&#37325;&#20132;&#27969;&#65292;&#20358;&#19968;&#36215;&#32842;&#32842;&#24590;&#40636;&#25226; Claude Code &#29992;&#21040;&#20540;&#22238;&#31080;&#20729;&#65281;&#29694;&#22312;&#21738;&#20123;&#21151;&#33021;&#26368;&#33021;&#25289;&#21319;&#29986;&#20986;&#65311;&#21738;&#20123;&#22580;&#26223;&#35442;&#36991;&#20813;&#65311;&#24118;&#33879;&#20320;&#30340;&#21839;&#38988;&#20358;&#65292;&#24118;&#33879;&#21487;&#34892;&#30340;&#19979;&#19968;&#27493;&#36208;&#12290;&#33287;&#19968;&#20301;&#29992; Vibe Coding &#20570;&#21040;&#29986;&#21697;&#19978;&#32218;&#12289;&#27599;&#26376;&#25226; $100 &#26041;&#26696;&#29992;&#21040;&#26997;&#33268;&#30340;&#36039;&#28145;&#19968;&#26781;&#40845;&#24037;&#31243;&#24107; Cash&#65292;&#20132;&#27969;&#21839;&#38988;&#12289;&#23526;&#25136;&#32147;&#39511;&#33287;&#36991;&#22353;&#24515;&#27861;&#12290;</abstract>
                <slug>jcconf-2025-79835-claude-code-lunch-talk--vibe--value</slug>
                <track>403</track>
                
                <persons>
                    <person id='80098'>Cash Wu</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/L9GKTZ/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/L9GKTZ/feedback/</feedback_url>
            </event>
            <event guid='cfe9b34a-d436-5c31-836d-0706e601603d' id='79837' code='8W9CUH'>
                <room>403</room>
                <title>Tea &#10006;&#65038; Cake &#10006;&#65038; Cash &#10006;&#65038; Claude Code</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2025-09-19T15:55:00+08:00</date>
                <start>15:55</start>
                <duration>00:25</duration>
                <abstract>&#21320;&#39184;&#36996;&#27794;&#32842;&#36942;&#30318;&#65311;&#19979;&#21320;&#33590;&#20877;&#20358;&#19968;&#27874;&#65281;&#24118;&#33879;&#22909;&#22855;&#33287;&#30495;&#23526;&#24773;&#22659;&#65292;Cash &#20197;&#37325;&#24230;&#20351;&#29992;&#32773;&#35222;&#35282;&#65292;&#20132;&#27969;&#21487;&#35079;&#35069;&#30340; Claude Code &#23567;&#25307;&#24335;&#33287;&#36991;&#22353;&#25351;&#21335;&#12290;&#24118;&#21839;&#38988;&#20358;&#12289;&#24118;&#25307;&#24335;&#36208;&#12289;&#20849;&#21516;&#23416;&#32722;&#65292;30 &#20998;&#37912;&#39640;&#23494;&#24230;&#21560;&#25910;&#12290;</abstract>
                <slug>jcconf-2025-79837-tea-cake-cash-claude-code</slug>
                <track>403</track>
                
                <persons>
                    <person id='80098'>Cash Wu</person>
                </persons>
                <language>zh-hant</language>
                
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/jcconf-2025/talk/8W9CUH/</url>
                <feedback_url>https://pretalx.com/jcconf-2025/talk/8W9CUH/feedback/</feedback_url>
            </event>
            
        </room>
        
    </day>
    
</schedule>
