Camiol 振義的專案研究室 === ## 專案建立 <style> .title { color: #FF5809; } .subTitle { color: #8600FF; } </style> <details> <summary class="title">Maven</summary> - [在Eclipse上面快速建立一個Maven的Web專案](https://hackmd.io/VrNS_xVIRRy86WQTC94rBA) </details> <details> <summary class="title">SpringBoot</summary> - [建立一個SpringBoot + Spring + JPA 的Web專案](https://hackmd.io/i3T9xRyQR0OOVczCQmtkZQ) - [建立一個Restful API的專案](https://hackmd.io/iQp4KS1CTXWauL-EOdWXmg) - [使用 swagger.io 來建立符合OpenAPI規範的Restful API](https://hackmd.io/aoYTfBsGRsqFWAr4O7FnNA) - [相關的spring boot application properties設定](https://hackmd.io/qr3V7QsFQqGYpQfvglys-A) - [Spring boot Validation 參數驗證機制](https://bingdoal.github.io/backend/2021/10/spring-boot-validate-request-body-and-nest-validate/) </details> <details> <summary class="title">SpringMVC</summary> - [建立一個SpringMVC + Spring + Hibernate 的Web專案](https://hackmd.io/wF-EIZsjSO-oE0pmSyQVkA) </details> ## ORM相關 <details> <summary class="title">Mybatis</summary> - [用Mybatis產生POJO與Mapper.xml](https://hackmd.io/Cb6RMWZSQy6k5tlWofUm0g) - [在Mybatis解決難字無法正常存入MSSQL的問題](https://hackmd.io/ENszJYw-SmesqUJQNm3E_Q) - [MyBatis將執行的sql語句印在log或是console裡面](https://hackmd.io/LncU-sedSgGPHAG4bEcBxA) </details> <details> <summary class="title">Hibernate / JPA </summary> - [用Hibernate 產生POJO](https://hackmd.io/r471pk4uS9CRUt5GcrxD1Q) - [No Dialect mapping for JDBC type 錯誤分析和解決方法](https://hackmd.io/6IUJdgQdRy2ZVKHSRUXgiQ) - [DetachedCriteria和Criteria的使用方法](https://hackmd.io/qUd2wTq7S26ZFDwFqtVpxg) - [JdbcTemplate 和 SessionFactory的用法](https://hackmd.io/WMCSBLlaR2uXIQGpr4ZchA) - [將Hibernate回傳的資料轉為Map來使用](https://hackmd.io/u1VGzOIERT-z5t1O70hkcg) - [Hibernate Transformers.aliasToBean用法](https://hackmd.io/y66xjGEyRxCF-EZGTxmTIg) - [Hibernate DetachedCriteria 索引查詢](https://hackmd.io/7oGHZ3S-Tni3cNSQ_7My1A) - [在Spring boot JPA上面取MSSQL 的Sequence](https://hackmd.io/LDa-swtpR-S2cDiRo66PcQ)) </details> ## 工具相關 <details> <summary class="title">Web container </summary> <details> <summary class="subTitle">Tomcat</summary> - [Tomcat部署War檔-完整過版流程(含Nginx切換)](https://hackmd.io/DDJXGnUNQiim0r1jrJyjRA) - [Apache Tomcat 7., 8.5.x, 9.x 使用 SSL 連線安裝設定](https://hackmd.io/ZmvqsB3cTmun15l4odQ_ig) </details> </details> <details> <summary class="title">CI/CD</summary> - [安裝Jenkins](https://hackmd.io/vijmQ-KdRY-2jeHzeMeZAg) - [用Jenkins自動將專案打包到指定位置](https://hackmd.io/HGw2flABRTmixHRBFyTeFQ) - [用Jenkins自動包版後, 自動部署war檔](https://hackmd.io/kWvYE1djRV6dnaqsFrBGag) </details> <details> <summary class="title">SoapUI</summary> - [使用soapUI來做CXF genCode 的動作產生程式來呼叫WebService](https://hackmd.io/KvsIzzmBRvqldkW3ACAXOA) </details> <details> <summary class="title">壓力測試</summary> - [使用JMeter 5工具做壓力測試](https://hackmd.io/u4IR_hAOS5K04WU_CaJysA) </details> <details> <summary class="title">GCP</summary> - [開始使用GCP - Google Cloud Platform](https://hackmd.io/xbHvYgfBQFuweOWeuVqRmg) </details> ## 工作隨手筆記 <details> <summary class="title">Java</summary> - [OpenJDK官方下載網址](https://www.openlogic.com/openjdk-downloads) - [SpringBoot - 使用 ObjectMapper 完成 json 和 Java Object 互相轉換](https://hackmd.io/cY7l2lAgTl6p93KBP_2cVA) - [用Java把數字加上千分位符號](https://hackmd.io/tURpkPs2QZy--Vw_VEA67A) - [BigDecimal 比較大小的方法,以及進位和捨去](https://hackmd.io/urXzpWspTzWzUkyDLfqpFw) - [好用的Jackson , 做一個POJO 和 JSON轉換的JSONUtils](https://hackmd.io/0_LJrOj5SYK9NfPjZAG1lA) - [檢查POJO的屬性名稱](https://hackmd.io/MbpXO0nLSDmH5gcU_Jrdfw) - [檢查POJO裡面各屬性的資料長度](https://hackmd.io/Rt4ikiEeTT-0jQ87VwENlQ) - [Gson的用法](https://hackmd.io/JO4gedTIRDmHvQXesinDIw) - [獲取當前的類別和方法名稱](https://hackmd.io/wpg0rN1fRBuYtMuSpvN4JA) - [正規表示式(Regular expression) matches()和find()的用法 ](https://hackmd.io/KSprWbZBTZq3KReQnxABiA) - [日期相加](https://hackmd.io/b2VutNb8QjqpA-wlNogGMA) - [比較兩個bean的內容是否相同](https://hackmd.io/Vm8jk8r1SU6_opnvXsPUrQ) - [Struts2上傳檔案和下載檔案功能實作](https://hackmd.io/1XW2--RGSgmDxelLUtXUBQ) - [Struts2 附件檔案下載功能](https://hackmd.io/QCAuRCNMRVq44Y_eiY3Avg) - [應付大量新增情況:批量新增、預存程式、多執行緒](https://hackmd.io/hL1QtTL9Sk6bSLB6vaZ6fQ) - [用prepared statement的欄位需要新增多國語言時的解決方法](https://hackmd.io/_ThJutEPSPCdFjQPFDQXzw) - [時區時間顯示方式](https://hackmd.io/DpZl3SzySKeEqtD5Reprwg) - [使用MD5做加密](https://hackmd.io/0JjdRDD7QE-9grASlzHaHw) - [好用的DateUtil](https://hackmd.io/mcQvKFTTTGeEvUzchflHxA) - [好用的LogUtils](https://hackmd.io/O_fFvyCrQ5iGUqMi-4RZEA) - [Jasypt 加解密教學](https://hackmd.io/X-fiR_R6S4e_VqQZL2_Nqg) - [使用MSSQL的AlwaysEncrypt 從程式端建立CMK、CEK 來加密資料庫欄位](https://hackmd.io/-XudcJfiQc-enobFAiK42g) - [在Windows底下列出程式清單的指令](https://hackmd.io/q4NmokC9Q1mjXFyrQ5e4Bw) </details> <details> <summary class="title">JavaScript</summary> - [javascript/jquery判斷是否為null 或undefined](https://hackmd.io/H9FnCp29RJOrXXdPm_zsvQ) - [用javascript把數字加上千分位符號](https://hackmd.io/qHv2nQWxS0-C9a2UoLitzw) - [列印網頁](https://hackmd.io/_TNQjECPQOm65-VvxEjvFA) - [Input的幾個常用寫法](https://hackmd.io/cBxht7gQTpK0xp7v6_41iA) - [JQuery分頁用法tabs()](https://hackmd.io/jBiofMGwTkCIDuwlq1aNmw) - [JQuery日期相加](https://hackmd.io/Ij1ELmKTQnOrmsAQpWOIqg) - [JQuery 正規表示式](https://hackmd.io/fsdMppRDSo2eWV1Ek1dC4g) - [Javascript:不允許使用者按上一頁按鈕](https://hackmd.io/kTGIq6f0QKGzjWtIJx4PIA) - [Jquery 驗證檔案大小和格式](https://hackmd.io/cv00DXFxQv2Kh1RbMtClxg) - [解決JavaScript split後,去除多餘的空白行](https://hackmd.io/MnI7-eJsR6G0eMjf07BODQ) - [檢查上傳多個檔案附件檔案大小](https://hackmd.io/PqD0bxQeSg2mntFBSjSl9Q) - [FileReader 讀取文字內容](https://hackmd.io/1IsD1N1pRzWKifjkBvfkcw) - [Jquery 顯示上傳檔案的容量大小](https://hackmd.io/IntpC93hTG69FLyO-0M_kQ) </details> <details> <summary class="title">Linux</summary> - [Linux常用指令](https://hackmd.io/tr6fZX8mQdyAq7bbWoTJpA) - [安裝和設定CentOS](https://hackmd.io/exHn08euRkSKst3H7TRL2g) - [設定開機啟動檔](https://hackmd.io/lIjDNA47T42HyZpQw_f1qw) - [SUSE 和 RedHat 更換OS](https://hackmd.io/E2nxmYEJQYSZ8W84ihSdRA) - [在Linux上面安裝JAVA](https://hackmd.io/2PA6SRl0S6WWzQRkr1My8A) - [用WinSCP 建立tunnel](https://hackmd.io/ki3-oFMJSGCBSmPPbTQsDQ) </details> <details> <summary class="title">CMD</summary> - [CMD常用指令](https://hackmd.io/Fpf6HmnGRLadyluOzmIvgg) </details> <details> <summary class="title">Nginx</summary> - [Nginx設定及測試方法](https://hackmd.io/ZNmKUBzLRHSTw05GhrvghQ) - [X-Real-IP 紀錄使用者原始IP來源](https://hackmd.io/ufG0SReJS6yaZzctA4TWXw) </details> <details> <summary class="title">SQL</summary> - [View的用法與建立](https://) - [SQL Data Types: Bit](https://hackmd.io/OESrL5SSSg6-_fxILWv-tg) - [MSSQL 查詢欄位資料長度](https://hackmd.io/jwPs2dRTR6Cs0J7ytgbbXg) - [查出DB裡table欄位有哪些是identity](https://hackmd.io/iYtlSM6tQiCdthOx7Aovew) </details> <details> <summary class="title">演算法</summary> - [演算法圖解](https://www.youtube.com/watch?v=WNN2-jw1EVU&list=PLVVMQF8vWNCITO9U3h-cVA6nHkdqJEifc&index=11) </details> <details> <summary class="title">弱點掃描</summary> - [停用3des加密套件](https://hackmd.io/7vi_06abQAiBl6nmiVFj3A) - [已啟用不安全的 "OPTIONS" HTTP 方法](https://hackmd.io/5lPcqchoTNWF46faJU0ubQ) - [找到可快取的 SSL 頁面](https://hackmd.io/xx8MngyiRYyr9wtwTzqUzw) - [支援較早的 TLS 版本](https://hackmd.io/UN64Yt9HS2mqnj9ynIZaog) - [遺漏或不安全的 "Content-Security-Policy" 標頭](https://hackmd.io/daI-x_FpR2-fGmg7jZLVzg) - [遺漏或不安全的 "X-Content-Type-Options" 標頭](https://hackmd.io/MXzLiPxdRomnttVtH9wA8w) - [遺漏或不安全的 HTTP Strict-Transport-Security 標頭](https://hackmd.io/ZAeRpV68RYy2Qdmi23SVkQ) - [偵測到 SHA-1 密碼組合](https://hackmd.io/LkwL3KvuSU-N_wUpYGaPBw) - [解決版本洩漏,修改服務器Apache-Coyote/1.1 Header為自訂內容](https://hackmd.io/IBqkQjklQdCDalY3yC_aIA) - [log4j 2 出現重大漏洞,需要更新!](https://hackmd.io/zGqT5FsGRtSZKdDwmyVIoQ) - [log4j1 升級到 log4j2 的實戰紀錄](https://hackmd.io/d0KO4lcLSwaBfBI9n85g3w) - [用JAVA Filter 修改XSS攻擊的漏洞](https://hackmd.io/Z_7r__i9To2_RYtXxRNFMw) - [在Nginx上面 防範XSS攻擊](https://hackmd.io/4lg5N3GMSo6N-vPnZlLHwA) - [Session cookie without samesite flag 弱點解法](https://hackmd.io/o_gNt2lKQ9aTghz6NrCeOg) </details> <details> <summary class="title">Batch & Shell</summary> - [建立一個簡單的Shell](https://hackmd.io/zRdFd0QlSVuTTKmyllAsLw) - [建立一個簡單的部版Shell](https://hackmd.io/8MBnliHmRampxEPiopZk8w) - [在排程裡面加入一個定期清理log的shell](https://hackmd.io/y5hiDylUT1qJDvL2wMTLKA) - [建立完shell後,幫shell加上執行權限](https://hackmd.io/oPoOemhOTPG849Pf2tZFgA) </details> <details> <summary class="title">Debug</summary> <details> <summary class="subTitle">JBoss</summary> - [JBoss deployed成功但找不到網址](https://hackmd.io/OViUlR3zRIS4ScL9ECIyKQ) - [JBOSS 參數過多無法提交](https://hackmd.io/KbzMSY0WTQyfgYic66LoYA) </details> <details> <summary class="subTitle">Java</summary> - [Comparison method violates its general contract!](https://hackmd.io/M4xCxg3aQdCfavMGMJTvzA) - [The method newFactory() is undefined for the type XMLInputFactory](https://hackmd.io/VrNlBZP9S7ia-MFj6-L0eg) </details> </details> <details> <summary class="title">API</summary> - [jaxws 設定timeout時間](https://hackmd.io/YGOvlQ_xSjKGP7hzM5dqoQ) </details> <details> <summary class="title">Docker</summary> - [Docker pull時遇到x509 certificate signed by unknown authority](https://hackmd.io/dJPEyZ_tSq69UUlvpZT3dw) - [遇到孤立容器的時候的解決方法](https://hackmd.io/AyfWDIAsR12Vl7TfK02BbQ) - [Docker 的使用方法, pg1,pg2的更新方法](https://hackmd.io/DhW4EhNyQK6qj7EbJ41bnQ) </details> --- [RoadMap](https://roadmap.sh/java) --- <details> <summary class="title">Java測驗練習</summary> - [用Native Java call Rest API](https://hackmd.io/3wqheid7TDWnlrcus9YluQ) - [給一個Java整數list,印出list有連續整數的數字](https://hackmd.io/SqavoCzQR86yzg3im3Xy3w) </details> --- <details> <summary class="title">機器人相關</summary> - [在discord上面新增機器人](https://hackmd.io/ESB_rJPOQYahIxa0uBDQSw) - [在twitter上面新增機器人](https://hackmd.io/dW3ckCVTS5qdIfVYp7fx2A) - [用JAVA + Heroku CLI 建立自己的Line Robot](https://hackmd.io/4_U1FTY-RfK5urk1vBavBw) - [Discord bot Mee6 使用方法](https://hackmd.io/7-Vsy4V7Rtq3VnQUicx52Q) </details> --- [ActiveMQ詳細入門教學系列(一)](https://tw511.com/a/01/16807.html) --- [區塊鏈相關技術研究室](https://hackmd.io/bajYoz4OTYapyqxId7xOrw) ###### tags: `Index` `Maven` `Spring` `Jenkins` `Mybatis`